writeback: separate out include/linux/backing-dev-defs.h With the planned cgroup writeback support, backing-dev related declarations will be more widely used across block and cgroup; unfortunately, including backing-dev.h from include/linux/blkdev.h makes cyclic include dependency quite likely. This patch separates out backing-dev-defs.h which only has the essential definitions and updates blkdev.h to include it. c files which need access to more backing-dev details now include backing-dev.h directly. This takes backing-dev.h off the common include dependency chain making it a lot easier to use it across block and cgroup. v2: fs/fat build failure fixed. Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: Jan Kara <jack@suse.cz> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/fs/block_dev.c b/fs/block_dev.c index c7e4163..e545cbf 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c
@@ -14,6 +14,7 @@ #include <linux/device_cgroup.h> #include <linux/highmem.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <linux/module.h> #include <linux/blkpg.h> #include <linux/magic.h>
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index d74e0802..e8b5866 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c
@@ -39,6 +39,7 @@ #include <linux/slab.h> #include <asm/uaccess.h> #include <linux/fiemap.h> +#include <linux/backing-dev.h> #include "ext4_jbd2.h" #include "ext4_extents.h" #include "xattr.h"
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 8d1e602..440987c 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c
@@ -26,6 +26,7 @@ #include <linux/log2.h> #include <linux/module.h> #include <linux/slab.h> +#include <linux/backing-dev.h> #include <trace/events/ext4.h> #ifdef CONFIG_EXT4_DEBUG
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index f06d058..56b8bb7 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c
@@ -24,6 +24,7 @@ #include <linux/slab.h> #include <linux/init.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <linux/parser.h> #include <linux/buffer_head.h> #include <linux/exportfs.h>
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h index 6408989..aba72f7 100644 --- a/fs/f2fs/segment.h +++ b/fs/f2fs/segment.h
@@ -9,6 +9,7 @@ * published by the Free Software Foundation. */ #include <linux/blkdev.h> +#include <linux/backing-dev.h> /* constant macro */ #define NULL_SEGNO ((unsigned int)(~0))
diff --git a/fs/fat/file.c b/fs/fat/file.c index 442d50a..a08f103 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c
@@ -11,6 +11,7 @@ #include <linux/compat.h> #include <linux/mount.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <linux/fsnotify.h> #include <linux/security.h> #include "fat.h"
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index c067746..509411d 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c
@@ -18,6 +18,7 @@ #include <linux/parser.h> #include <linux/uio.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <asm/unaligned.h> #include "fat.h"
diff --git a/fs/hfs/super.c b/fs/hfs/super.c index eee7206..55c03b9 100644 --- a/fs/hfs/super.c +++ b/fs/hfs/super.c
@@ -14,6 +14,7 @@ #include <linux/module.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <linux/mount.h> #include <linux/init.h> #include <linux/nls.h>
diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c index 593af2f..7302d96 100644 --- a/fs/hfsplus/super.c +++ b/fs/hfsplus/super.c
@@ -11,6 +11,7 @@ #include <linux/init.h> #include <linux/pagemap.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <linux/fs.h> #include <linux/slab.h> #include <linux/vfs.h>
diff --git a/fs/nfs/filelayout/filelayout.c b/fs/nfs/filelayout/filelayout.c index a46bf6d..b34f2e2 100644 --- a/fs/nfs/filelayout/filelayout.c +++ b/fs/nfs/filelayout/filelayout.c
@@ -32,6 +32,7 @@ #include <linux/nfs_fs.h> #include <linux/nfs_page.h> #include <linux/module.h> +#include <linux/backing-dev.h> #include <linux/sunrpc/metrics.h>
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index d8b670c..8f1feca 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c
@@ -37,6 +37,7 @@ #include <linux/falloc.h> #include <linux/quotaops.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <cluster/masklog.h>
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 0111ad0..3e0af31 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c
@@ -21,6 +21,7 @@ #include "xattr.h" #include <linux/init.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <linux/buffer_head.h> #include <linux/exportfs.h> #include <linux/quotaops.h>
diff --git a/fs/ufs/super.c b/fs/ufs/super.c index b3bc3e7..098508a 100644 --- a/fs/ufs/super.c +++ b/fs/ufs/super.c
@@ -80,6 +80,7 @@ #include <linux/stat.h> #include <linux/string.h> #include <linux/blkdev.h> +#include <linux/backing-dev.h> #include <linux/init.h> #include <linux/parser.h> #include <linux/buffer_head.h>
diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 8121e753..4e00b38 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c
@@ -41,6 +41,7 @@ #include <linux/dcache.h> #include <linux/falloc.h> #include <linux/pagevec.h> +#include <linux/backing-dev.h> static const struct vm_operations_struct xfs_file_vm_ops;