diff options
| author | Christoph Hellwig <hch@lst.de> | 2020-05-23 09:30:11 +0200 | 
|---|---|---|
| committer | Theodore Ts'o <tytso@mit.edu> | 2020-06-03 23:16:55 -0400 | 
| commit | 10c5db286452b8c60e8f58e9a4c1cbc5a91e4e5b (patch) | |
| tree | 6955d539abd703252b3706c267b69d0bd130a08a | |
| parent | 44ebcd06bbb3ab3ee446b933800aca32fc4ca9b1 (diff) | |
fs: move the fiemap definitions out of fs.h
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>
| -rw-r--r-- | fs/bad_inode.c | 1 | ||||
| -rw-r--r-- | fs/btrfs/extent_io.h | 1 | ||||
| -rw-r--r-- | fs/cifs/inode.c | 1 | ||||
| -rw-r--r-- | fs/cifs/smb2ops.c | 1 | ||||
| -rw-r--r-- | fs/ext2/inode.c | 1 | ||||
| -rw-r--r-- | fs/ext4/ext4.h | 1 | ||||
| -rw-r--r-- | fs/f2fs/data.c | 1 | ||||
| -rw-r--r-- | fs/f2fs/inline.c | 1 | ||||
| -rw-r--r-- | fs/gfs2/inode.c | 1 | ||||
| -rw-r--r-- | fs/hpfs/file.c | 1 | ||||
| -rw-r--r-- | fs/ioctl.c | 1 | ||||
| -rw-r--r-- | fs/iomap/fiemap.c | 1 | ||||
| -rw-r--r-- | fs/nilfs2/inode.c | 1 | ||||
| -rw-r--r-- | fs/overlayfs/inode.c | 1 | ||||
| -rw-r--r-- | fs/xfs/xfs_iops.c | 1 | ||||
| -rw-r--r-- | include/linux/fiemap.h | 24 | ||||
| -rw-r--r-- | include/linux/fs.h | 19 | ||||
| -rw-r--r-- | include/uapi/linux/fiemap.h | 6 | 
18 files changed, 43 insertions, 21 deletions
| diff --git a/fs/bad_inode.c b/fs/bad_inode.c index 8035d2a44561..54f0ce444272 100644 --- a/fs/bad_inode.c +++ b/fs/bad_inode.c @@ -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)  { diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 2ed65bd0760e..817698bc0669 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h @@ -5,6 +5,7 @@  #include <linux/rbtree.h>  #include <linux/refcount.h> +#include <linux/fiemap.h>  #include "ulist.h"  /* diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 390d2b15ef6e..3f276eb8ca68 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -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" diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c index f829f4165d38..09047f1ddfb6 100644 --- a/fs/cifs/smb2ops.c +++ b/fs/cifs/smb2ops.c @@ -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" diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index c885cf7d724b..0f12a0e8a8d9 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c @@ -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" diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 1eb07ca91fca..9e5c332a2b94 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -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 diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index cdf2f626bea7..25abbbb65ba0 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -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" diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 4167e5408151..9686ffea177e 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -8,6 +8,7 @@  #include <linux/fs.h>  #include <linux/f2fs_fs.h> +#include <linux/fiemap.h>  #include "f2fs.h"  #include "node.h" diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 70b2d3a1e866..4842f313a808 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -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" diff --git a/fs/hpfs/file.c b/fs/hpfs/file.c index b36abf9cb345..62959a8e43ad 100644 --- a/fs/hpfs/file.c +++ b/fs/hpfs/file.c @@ -9,6 +9,7 @@  #include "hpfs_fn.h"  #include <linux/mpage.h> +#include <linux/fiemap.h>  #define BLOCKS(size) (((size) + 511) >> 9) diff --git a/fs/ioctl.c b/fs/ioctl.c index 8fe5131b1dee..3f300cc07dee 100644 --- a/fs/ioctl.c +++ b/fs/ioctl.c @@ -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" diff --git a/fs/iomap/fiemap.c b/fs/iomap/fiemap.c index d55e8f491a5e..0a807bbb2b4a 100644 --- a/fs/iomap/fiemap.c +++ b/fs/iomap/fiemap.c @@ -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; diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c index 671085512e0f..6e1aca38931f 100644 --- a/fs/nilfs2/inode.c +++ b/fs/nilfs2/inode.c @@ -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" diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c index b0d42ece4d7c..b5fec3410556 100644 --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c @@ -10,6 +10,7 @@  #include <linux/xattr.h>  #include <linux/posix_acl.h>  #include <linux/ratelimit.h> +#include <linux/fiemap.h>  #include "overlayfs.h" diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c index f7a99b3bbcf7..44c353998ac5 100644 --- a/fs/xfs/xfs_iops.c +++ b/fs/xfs/xfs_iops.c @@ -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 index 000000000000..240d4f7d9116 --- /dev/null +++ b/include/linux/fiemap.h @@ -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 */ diff --git a/include/linux/fs.h b/include/linux/fs.h index 3104c6f7527b..09bcd329c062 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -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); diff --git a/include/uapi/linux/fiemap.h b/include/uapi/linux/fiemap.h index 7a900b2377b6..24ca0c00cae3 100644 --- a/include/uapi/linux/fiemap.h +++ b/include/uapi/linux/fiemap.h @@ -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 */ | 
