OSDN Git Service

nvme-multipath: relax ANA state check
[uclinux-h8/linux.git] / fs / stat.c
index adbfcd8..c38e4c2 100644 (file)
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -45,11 +45,6 @@ void generic_fillattr(struct inode *inode, struct kstat *stat)
        stat->ctime = inode->i_ctime;
        stat->blksize = i_blocksize(inode);
        stat->blocks = inode->i_blocks;
-
-       if (IS_NOATIME(inode))
-               stat->result_mask &= ~STATX_ATIME;
-       if (IS_AUTOMOUNT(inode))
-               stat->attributes |= STATX_ATTR_AUTOMOUNT;
 }
 EXPORT_SYMBOL(generic_fillattr);
 
@@ -75,6 +70,13 @@ int vfs_getattr_nosec(const struct path *path, struct kstat *stat,
        stat->result_mask |= STATX_BASIC_STATS;
        request_mask &= STATX_ALL;
        query_flags &= KSTAT_QUERY_FLAGS;
+
+       /* allow the fs to override these if it really wants to */
+       if (IS_NOATIME(inode))
+               stat->result_mask &= ~STATX_ATIME;
+       if (IS_AUTOMOUNT(inode))
+               stat->attributes |= STATX_ATTR_AUTOMOUNT;
+
        if (inode->i_op->getattr)
                return inode->i_op->getattr(path, stat, request_mask,
                                            query_flags);