fs: move vfs_fstatat out of line
[linux-2.6-microblaze.git] / fs / stat.c
index 44f8ad3..ddf0176 100644 (file)
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -126,35 +126,27 @@ int vfs_getattr(const struct path *path, struct kstat *stat,
 EXPORT_SYMBOL(vfs_getattr);
 
 /**
- * vfs_statx_fd - Get the enhanced basic attributes by file descriptor
+ * vfs_fstat - Get the basic attributes by file descriptor
  * @fd: The file descriptor referring to the file of interest
  * @stat: The result structure to fill in.
- * @request_mask: STATX_xxx flags indicating what the caller wants
- * @query_flags: Query mode (KSTAT_QUERY_FLAGS)
  *
  * This function is a wrapper around vfs_getattr().  The main difference is
  * that it uses a file descriptor to determine the file location.
  *
  * 0 will be returned on success, and a -ve error code if unsuccessful.
  */
-int vfs_statx_fd(unsigned int fd, struct kstat *stat,
-                u32 request_mask, unsigned int query_flags)
+int vfs_fstat(int fd, struct kstat *stat)
 {
        struct fd f;
-       int error = -EBADF;
-
-       if (query_flags & ~KSTAT_QUERY_FLAGS)
-               return -EINVAL;
+       int error;
 
        f = fdget_raw(fd);
-       if (f.file) {
-               error = vfs_getattr(&f.file->f_path, stat,
-                                   request_mask, query_flags);
-               fdput(f);
-       }
+       if (!f.file)
+               return -EBADF;
+       error = vfs_getattr(&f.file->f_path, stat, STATX_BASIC_STATS, 0);
+       fdput(f);
        return error;
 }
-EXPORT_SYMBOL(vfs_statx_fd);
 
 static inline unsigned vfs_stat_set_lookup_flags(unsigned *lookup_flags,
                                                 int flags)
@@ -189,7 +181,7 @@ static inline unsigned vfs_stat_set_lookup_flags(unsigned *lookup_flags,
  *
  * 0 will be returned on success, and a -ve error code if unsuccessful.
  */
-int vfs_statx(int dfd, const char __user *filename, int flags,
+static int vfs_statx(int dfd, const char __user *filename, int flags,
              struct kstat *stat, u32 request_mask)
 {
        struct path path;
@@ -217,8 +209,13 @@ retry:
 out:
        return error;
 }
-EXPORT_SYMBOL(vfs_statx);
 
+int vfs_fstatat(int dfd, const char __user *filename,
+                             struct kstat *stat, int flags)
+{
+       return vfs_statx(dfd, filename, flags | AT_NO_AUTOMOUNT,
+                        stat, STATX_BASIC_STATS);
+}
 
 #ifdef __ARCH_WANT_OLD_STAT