fs: export inode_to_bdi and use it in favor of mapping->backing_dev_info
authorChristoph Hellwig <hch@lst.de>
Wed, 14 Jan 2015 09:42:36 +0000 (10:42 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 20 Jan 2015 21:03:04 +0000 (14:03 -0700)
Now that we got rid of the bdi abuse on character devices we can always use
sb->s_bdi to get at the backing_dev_info for a file, except for the block
device special case.  Export inode_to_bdi and replace uses of
mapping->backing_dev_info with it to prepare for the removal of
mapping->backing_dev_info.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
22 files changed:
fs/btrfs/file.c
fs/ceph/file.c
fs/ext2/ialloc.c
fs/ext4/super.c
fs/fs-writeback.c
fs/fuse/file.c
fs/gfs2/aops.c
fs/gfs2/super.c
fs/nfs/filelayout/filelayout.c
fs/nfs/write.c
fs/ntfs/file.c
fs/ocfs2/file.c
fs/xfs/xfs_file.c
include/linux/backing-dev.h
include/trace/events/writeback.h
mm/fadvise.c
mm/filemap.c
mm/filemap_xip.c
mm/page-writeback.c
mm/readahead.c
mm/truncate.c
mm/vmscan.c

index e409025..835c04a 100644 (file)
@@ -1746,7 +1746,7 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
 
        mutex_lock(&inode->i_mutex);
 
-       current->backing_dev_info = inode->i_mapping->backing_dev_info;
+       current->backing_dev_info = inode_to_bdi(inode);
        err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode));
        if (err) {
                mutex_unlock(&inode->i_mutex);
index ce74b39..905986d 100644 (file)
@@ -945,7 +945,7 @@ static ssize_t ceph_write_iter(struct kiocb *iocb, struct iov_iter *from)
        mutex_lock(&inode->i_mutex);
 
        /* We can write back this queue in page reclaim */
-       current->backing_dev_info = file->f_mapping->backing_dev_info;
+       current->backing_dev_info = inode_to_bdi(inode);
 
        err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode));
        if (err)
Simple merge
diff --cc fs/ext4/super.c
Simple merge
Simple merge
diff --cc fs/fuse/file.c
Simple merge
diff --cc fs/gfs2/aops.c
Simple merge
diff --cc fs/gfs2/super.c
Simple merge
Simple merge
diff --cc fs/nfs/write.c
Simple merge
diff --cc fs/ntfs/file.c
Simple merge
diff --cc fs/ocfs2/file.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc mm/fadvise.c
Simple merge
diff --cc mm/filemap.c
Simple merge
Simple merge
Simple merge
diff --cc mm/readahead.c
Simple merge
diff --cc mm/truncate.c
Simple merge
diff --cc mm/vmscan.c
Simple merge