fs: move the fiemap definitions out of fs.h
authorChristoph Hellwig <hch@lst.de>
Sat, 23 May 2020 07:30:11 +0000 (09:30 +0200)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 4 Jun 2020 03:16:55 +0000 (23:16 -0400)
No need to pull the fiemap definitions into almost every file in the
kernel build.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ritesh Harjani <riteshh@linux.ibm.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Link: https://lore.kernel.org/r/20200523073016.2944131-5-hch@lst.de
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
18 files changed:
fs/bad_inode.c
fs/btrfs/extent_io.h
fs/cifs/inode.c
fs/cifs/smb2ops.c
fs/ext2/inode.c
fs/ext4/ext4.h
fs/f2fs/data.c
fs/f2fs/inline.c
fs/gfs2/inode.c
fs/hpfs/file.c
fs/ioctl.c
fs/iomap/fiemap.c
fs/nilfs2/inode.c
fs/overlayfs/inode.c
fs/xfs/xfs_iops.c
include/linux/fiemap.h [new file with mode: 0644]
include/linux/fs.h
include/uapi/linux/fiemap.h

index 8035d2a445617905b595222e2b5bb2d4f52b80d4..54f0ce44427200ba32ba0db078faf120a9b5f172 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/time.h>
 #include <linux/namei.h>
 #include <linux/poll.h>
+#include <linux/fiemap.h>
 
 static int bad_file_open(struct inode *inode, struct file *filp)
 {
index 2ed65bd0760ea901c13164ea1871bcbfbc446c0d..817698bc0669392a5eb60cb2082893cff476fb97 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <linux/rbtree.h>
 #include <linux/refcount.h>
+#include <linux/fiemap.h>
 #include "ulist.h"
 
 /*
index 390d2b15ef6ef9d7014e90069cdad3d2880806d3..3f276eb8ca68dc638f2672a3258cadb335a8097e 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/freezer.h>
 #include <linux/sched/signal.h>
 #include <linux/wait_bit.h>
+#include <linux/fiemap.h>
 
 #include <asm/div64.h>
 #include "cifsfs.h"
index f829f4165d38c1b196481b91d2d172b1c96090ec..09047f1ddfb666f439d9d0d03ae18a311928af41 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/uuid.h>
 #include <linux/sort.h>
 #include <crypto/aead.h>
+#include <linux/fiemap.h>
 #include "cifsfs.h"
 #include "cifsglob.h"
 #include "smb2pdu.h"
index c885cf7d724b4830d0e952acbc91f0db1b3b1f63..0f12a0e8a8d975c55e5af51e83e033eaabec24fa 100644 (file)
@@ -36,6 +36,7 @@
 #include <linux/iomap.h>
 #include <linux/namei.h>
 #include <linux/uio.h>
+#include <linux/fiemap.h>
 #include "ext2.h"
 #include "acl.h"
 #include "xattr.h"
index 1eb07ca91fcaef85fd42917272d97ab0a8278749..9e5c332a2b94b9338d6073a2ea1314c23ca224d9 100644 (file)
@@ -36,6 +36,7 @@
 #include <crypto/hash.h>
 #include <linux/falloc.h>
 #include <linux/percpu-rwsem.h>
+#include <linux/fiemap.h>
 #ifdef __KERNEL__
 #include <linux/compat.h>
 #endif
index cdf2f626bea7abc896a5379a1fa815b5367f0afc..25abbbb65ba094728d8b590d0f900ff94a6053db 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/uio.h>
 #include <linux/cleancache.h>
 #include <linux/sched/signal.h>
+#include <linux/fiemap.h>
 
 #include "f2fs.h"
 #include "node.h"
index 4167e540815185a2a467e7e3d00a598dd9adbf7a..9686ffea177e7e8d251e21f3a101bcda3ee1e21e 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <linux/fs.h>
 #include <linux/f2fs_fs.h>
+#include <linux/fiemap.h>
 
 #include "f2fs.h"
 #include "node.h"
index 70b2d3a1e86683ae91e26109e1f88c8923f87a25..4842f313a8084292900fdb231b664e98fdb6d86d 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/crc32.h>
 #include <linux/iomap.h>
 #include <linux/security.h>
+#include <linux/fiemap.h>
 #include <linux/uaccess.h>
 
 #include "gfs2.h"
index b36abf9cb345a513bf79d8765fda2a44dae1c91a..62959a8e43ad8d66311076d2109fc8245732338e 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "hpfs_fn.h"
 #include <linux/mpage.h>
+#include <linux/fiemap.h>
 
 #define BLOCKS(size) (((size) + 511) >> 9)
 
index 8fe5131b1deea5e8a621d147975f47b863d290f7..3f300cc07dee4a51629cb053c82fcec293317d75 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/buffer_head.h>
 #include <linux/falloc.h>
 #include <linux/sched/signal.h>
+#include <linux/fiemap.h>
 
 #include "internal.h"
 
index d55e8f491a5e51d1d45c0053db38a41af883eb4f..0a807bbb2b4af7f6688594e46826aadad6dcc59a 100644 (file)
@@ -6,6 +6,7 @@
 #include <linux/compiler.h>
 #include <linux/fs.h>
 #include <linux/iomap.h>
+#include <linux/fiemap.h>
 
 struct fiemap_ctx {
        struct fiemap_extent_info *fi;
index 671085512e0fde9e8be3274629db21e8c0561b96..6e1aca38931f3720dfb8e20f89f12cfcd985f9f3 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/pagemap.h>
 #include <linux/writeback.h>
 #include <linux/uio.h>
+#include <linux/fiemap.h>
 #include "nilfs.h"
 #include "btnode.h"
 #include "segment.h"
index b0d42ece4d7ccc470534576817278f8cdff0f08c..b5fec341055690ce9efce782dd62c2e6a10ae6d2 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/xattr.h>
 #include <linux/posix_acl.h>
 #include <linux/ratelimit.h>
+#include <linux/fiemap.h>
 #include "overlayfs.h"
 
 
index f7a99b3bbcf7a37e4ce4fba965b2c53a424c9b0a..44c353998ac5c157e64d805f1a2672ab8184a6c9 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/posix_acl.h>
 #include <linux/security.h>
 #include <linux/iversion.h>
+#include <linux/fiemap.h>
 
 /*
  * Directories have different lock order w.r.t. mmap_sem compared to regular
diff --git a/include/linux/fiemap.h b/include/linux/fiemap.h
new file mode 100644 (file)
index 0000000..240d4f7
--- /dev/null
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_FIEMAP_H
+#define _LINUX_FIEMAP_H 1
+
+#include <uapi/linux/fiemap.h>
+#include <linux/fs.h>
+
+struct fiemap_extent_info {
+       unsigned int fi_flags;          /* Flags as passed from user */
+       unsigned int fi_extents_mapped; /* Number of mapped extents */
+       unsigned int fi_extents_max;    /* Size of fiemap_extent array */
+       struct fiemap_extent __user *fi_extents_start; /* Start of
+                                                       fiemap_extent array */
+};
+
+int fiemap_fill_next_extent(struct fiemap_extent_info *info, u64 logical,
+                           u64 phys, u64 len, u32 flags);
+int fiemap_check_flags(struct fiemap_extent_info *fieinfo, u32 fs_flags);
+
+int generic_block_fiemap(struct inode *inode,
+               struct fiemap_extent_info *fieinfo, u64 start, u64 len,
+               get_block_t *get_block);
+
+#endif /* _LINUX_FIEMAP_H 1 */
index 3104c6f7527b5a499a414f39a2cb5c0537430fe8..09bcd329c0628deb406bae888e7d2242f4bc6c96 100644 (file)
@@ -24,7 +24,6 @@
 #include <linux/capability.h>
 #include <linux/semaphore.h>
 #include <linux/fcntl.h>
-#include <linux/fiemap.h>
 #include <linux/rculist_bl.h>
 #include <linux/atomic.h>
 #include <linux/shrinker.h>
@@ -48,6 +47,7 @@ struct backing_dev_info;
 struct bdi_writeback;
 struct bio;
 struct export_operations;
+struct fiemap_extent_info;
 struct hd_geometry;
 struct iovec;
 struct kiocb;
@@ -1745,19 +1745,6 @@ extern long compat_ptr_ioctl(struct file *file, unsigned int cmd,
 extern void inode_init_owner(struct inode *inode, const struct inode *dir,
                        umode_t mode);
 extern bool may_open_dev(const struct path *path);
-/*
- * VFS FS_IOC_FIEMAP helper definitions.
- */
-struct fiemap_extent_info {
-       unsigned int fi_flags;          /* Flags as passed from user */
-       unsigned int fi_extents_mapped; /* Number of mapped extents */
-       unsigned int fi_extents_max;    /* Size of fiemap_extent array */
-       struct fiemap_extent __user *fi_extents_start; /* Start of
-                                                       fiemap_extent array */
-};
-int fiemap_fill_next_extent(struct fiemap_extent_info *info, u64 logical,
-                           u64 phys, u64 len, u32 flags);
-int fiemap_check_flags(struct fiemap_extent_info *fieinfo, u32 fs_flags);
 
 /*
  * This is the "filldir" function type, used by readdir() to let
@@ -3299,10 +3286,6 @@ static inline int vfs_fstat(int fd, struct kstat *stat)
 extern const char *vfs_get_link(struct dentry *, struct delayed_call *);
 extern int vfs_readlink(struct dentry *, char __user *, int);
 
-extern int generic_block_fiemap(struct inode *inode,
-                               struct fiemap_extent_info *fieinfo, u64 start,
-                               u64 len, get_block_t *get_block);
-
 extern struct file_system_type *get_filesystem(struct file_system_type *fs);
 extern void put_filesystem(struct file_system_type *fs);
 extern struct file_system_type *get_fs_type(const char *name);
index 7a900b2377b603df04f61461888566aa125fc061..24ca0c00cae3628572a11f22c44d5357b9c327c4 100644 (file)
@@ -9,8 +9,8 @@
  *          Andreas Dilger <adilger@sun.com>
  */
 
-#ifndef _LINUX_FIEMAP_H
-#define _LINUX_FIEMAP_H
+#ifndef _UAPI_LINUX_FIEMAP_H
+#define _UAPI_LINUX_FIEMAP_H
 
 #include <linux/types.h>
 
@@ -67,4 +67,4 @@ struct fiemap {
 #define FIEMAP_EXTENT_SHARED           0x00002000 /* Space shared with other
                                                    * files. */
 
-#endif /* _LINUX_FIEMAP_H */
+#endif /* _UAPI_LINUX_FIEMAP_H */