diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/file.c | 2 | ||||
-rw-r--r-- | fs/ceph/file.c | 2 | ||||
-rw-r--r-- | fs/ext2/ialloc.c | 2 | ||||
-rw-r--r-- | fs/ext4/super.c | 2 | ||||
-rw-r--r-- | fs/fs-writeback.c | 3 | ||||
-rw-r--r-- | fs/fuse/file.c | 10 | ||||
-rw-r--r-- | fs/gfs2/aops.c | 2 | ||||
-rw-r--r-- | fs/gfs2/super.c | 2 | ||||
-rw-r--r-- | fs/nfs/filelayout/filelayout.c | 2 | ||||
-rw-r--r-- | fs/nfs/write.c | 6 | ||||
-rw-r--r-- | fs/ntfs/file.c | 3 | ||||
-rw-r--r-- | fs/ocfs2/file.c | 2 | ||||
-rw-r--r-- | fs/xfs/xfs_file.c | 2 |
13 files changed, 21 insertions, 19 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index e4090259569b..835c04a874fd 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
@@ -1746,7 +1746,7 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb, | |||
1746 | 1746 | ||
1747 | mutex_lock(&inode->i_mutex); | 1747 | mutex_lock(&inode->i_mutex); |
1748 | 1748 | ||
1749 | current->backing_dev_info = inode->i_mapping->backing_dev_info; | 1749 | current->backing_dev_info = inode_to_bdi(inode); |
1750 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); | 1750 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); |
1751 | if (err) { | 1751 | if (err) { |
1752 | mutex_unlock(&inode->i_mutex); | 1752 | mutex_unlock(&inode->i_mutex); |
diff --git a/fs/ceph/file.c b/fs/ceph/file.c index ce74b394b49d..905986dd4c3c 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c | |||
@@ -945,7 +945,7 @@ static ssize_t ceph_write_iter(struct kiocb *iocb, struct iov_iter *from) | |||
945 | mutex_lock(&inode->i_mutex); | 945 | mutex_lock(&inode->i_mutex); |
946 | 946 | ||
947 | /* We can write back this queue in page reclaim */ | 947 | /* We can write back this queue in page reclaim */ |
948 | current->backing_dev_info = file->f_mapping->backing_dev_info; | 948 | current->backing_dev_info = inode_to_bdi(inode); |
949 | 949 | ||
950 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); | 950 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); |
951 | if (err) | 951 | if (err) |
diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c index 7d66fb0e4cca..6c14bb8322fa 100644 --- a/fs/ext2/ialloc.c +++ b/fs/ext2/ialloc.c | |||
@@ -170,7 +170,7 @@ static void ext2_preread_inode(struct inode *inode) | |||
170 | struct ext2_group_desc * gdp; | 170 | struct ext2_group_desc * gdp; |
171 | struct backing_dev_info *bdi; | 171 | struct backing_dev_info *bdi; |
172 | 172 | ||
173 | bdi = inode->i_mapping->backing_dev_info; | 173 | bdi = inode_to_bdi(inode); |
174 | if (bdi_read_congested(bdi)) | 174 | if (bdi_read_congested(bdi)) |
175 | return; | 175 | return; |
176 | if (bdi_write_congested(bdi)) | 176 | if (bdi_write_congested(bdi)) |
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 74c5f53595fb..ad88e601a6cd 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -334,7 +334,7 @@ static void save_error_info(struct super_block *sb, const char *func, | |||
334 | static int block_device_ejected(struct super_block *sb) | 334 | static int block_device_ejected(struct super_block *sb) |
335 | { | 335 | { |
336 | struct inode *bd_inode = sb->s_bdev->bd_inode; | 336 | struct inode *bd_inode = sb->s_bdev->bd_inode; |
337 | struct backing_dev_info *bdi = bd_inode->i_mapping->backing_dev_info; | 337 | struct backing_dev_info *bdi = inode_to_bdi(bd_inode); |
338 | 338 | ||
339 | return bdi->dev == NULL; | 339 | return bdi->dev == NULL; |
340 | } | 340 | } |
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index e8116a44cc29..a20b1145f4d5 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -66,7 +66,7 @@ int writeback_in_progress(struct backing_dev_info *bdi) | |||
66 | } | 66 | } |
67 | EXPORT_SYMBOL(writeback_in_progress); | 67 | EXPORT_SYMBOL(writeback_in_progress); |
68 | 68 | ||
69 | static inline struct backing_dev_info *inode_to_bdi(struct inode *inode) | 69 | struct backing_dev_info *inode_to_bdi(struct inode *inode) |
70 | { | 70 | { |
71 | struct super_block *sb = inode->i_sb; | 71 | struct super_block *sb = inode->i_sb; |
72 | #ifdef CONFIG_BLOCK | 72 | #ifdef CONFIG_BLOCK |
@@ -75,6 +75,7 @@ static inline struct backing_dev_info *inode_to_bdi(struct inode *inode) | |||
75 | #endif | 75 | #endif |
76 | return sb->s_bdi; | 76 | return sb->s_bdi; |
77 | } | 77 | } |
78 | EXPORT_SYMBOL_GPL(inode_to_bdi); | ||
78 | 79 | ||
79 | static inline struct inode *wb_inode(struct list_head *head) | 80 | static inline struct inode *wb_inode(struct list_head *head) |
80 | { | 81 | { |
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 760b2c552197..19d80b82d344 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
@@ -1159,7 +1159,7 @@ static ssize_t fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from) | |||
1159 | mutex_lock(&inode->i_mutex); | 1159 | mutex_lock(&inode->i_mutex); |
1160 | 1160 | ||
1161 | /* We can write back this queue in page reclaim */ | 1161 | /* We can write back this queue in page reclaim */ |
1162 | current->backing_dev_info = mapping->backing_dev_info; | 1162 | current->backing_dev_info = inode_to_bdi(inode); |
1163 | 1163 | ||
1164 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); | 1164 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); |
1165 | if (err) | 1165 | if (err) |
@@ -1464,7 +1464,7 @@ static void fuse_writepage_finish(struct fuse_conn *fc, struct fuse_req *req) | |||
1464 | { | 1464 | { |
1465 | struct inode *inode = req->inode; | 1465 | struct inode *inode = req->inode; |
1466 | struct fuse_inode *fi = get_fuse_inode(inode); | 1466 | struct fuse_inode *fi = get_fuse_inode(inode); |
1467 | struct backing_dev_info *bdi = inode->i_mapping->backing_dev_info; | 1467 | struct backing_dev_info *bdi = inode_to_bdi(inode); |
1468 | int i; | 1468 | int i; |
1469 | 1469 | ||
1470 | list_del(&req->writepages_entry); | 1470 | list_del(&req->writepages_entry); |
@@ -1658,7 +1658,7 @@ static int fuse_writepage_locked(struct page *page) | |||
1658 | req->end = fuse_writepage_end; | 1658 | req->end = fuse_writepage_end; |
1659 | req->inode = inode; | 1659 | req->inode = inode; |
1660 | 1660 | ||
1661 | inc_bdi_stat(mapping->backing_dev_info, BDI_WRITEBACK); | 1661 | inc_bdi_stat(inode_to_bdi(inode), BDI_WRITEBACK); |
1662 | inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); | 1662 | inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); |
1663 | 1663 | ||
1664 | spin_lock(&fc->lock); | 1664 | spin_lock(&fc->lock); |
@@ -1768,7 +1768,7 @@ static bool fuse_writepage_in_flight(struct fuse_req *new_req, | |||
1768 | 1768 | ||
1769 | if (old_req->num_pages == 1 && (old_req->state == FUSE_REQ_INIT || | 1769 | if (old_req->num_pages == 1 && (old_req->state == FUSE_REQ_INIT || |
1770 | old_req->state == FUSE_REQ_PENDING)) { | 1770 | old_req->state == FUSE_REQ_PENDING)) { |
1771 | struct backing_dev_info *bdi = page->mapping->backing_dev_info; | 1771 | struct backing_dev_info *bdi = inode_to_bdi(page->mapping->host); |
1772 | 1772 | ||
1773 | copy_highpage(old_req->pages[0], page); | 1773 | copy_highpage(old_req->pages[0], page); |
1774 | spin_unlock(&fc->lock); | 1774 | spin_unlock(&fc->lock); |
@@ -1872,7 +1872,7 @@ static int fuse_writepages_fill(struct page *page, | |||
1872 | req->page_descs[req->num_pages].offset = 0; | 1872 | req->page_descs[req->num_pages].offset = 0; |
1873 | req->page_descs[req->num_pages].length = PAGE_SIZE; | 1873 | req->page_descs[req->num_pages].length = PAGE_SIZE; |
1874 | 1874 | ||
1875 | inc_bdi_stat(page->mapping->backing_dev_info, BDI_WRITEBACK); | 1875 | inc_bdi_stat(inode_to_bdi(inode), BDI_WRITEBACK); |
1876 | inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); | 1876 | inc_zone_page_state(tmp_page, NR_WRITEBACK_TEMP); |
1877 | 1877 | ||
1878 | err = 0; | 1878 | err = 0; |
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 805b37fed638..4ad4f94edebe 100644 --- a/fs/gfs2/aops.c +++ b/fs/gfs2/aops.c | |||
@@ -289,7 +289,7 @@ continue_unlock: | |||
289 | if (!clear_page_dirty_for_io(page)) | 289 | if (!clear_page_dirty_for_io(page)) |
290 | goto continue_unlock; | 290 | goto continue_unlock; |
291 | 291 | ||
292 | trace_wbc_writepage(wbc, mapping->backing_dev_info); | 292 | trace_wbc_writepage(wbc, inode_to_bdi(inode)); |
293 | 293 | ||
294 | ret = __gfs2_jdata_writepage(page, wbc); | 294 | ret = __gfs2_jdata_writepage(page, wbc); |
295 | if (unlikely(ret)) { | 295 | if (unlikely(ret)) { |
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 5b327f837de7..1666382b198d 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c | |||
@@ -743,7 +743,7 @@ static int gfs2_write_inode(struct inode *inode, struct writeback_control *wbc) | |||
743 | struct gfs2_inode *ip = GFS2_I(inode); | 743 | struct gfs2_inode *ip = GFS2_I(inode); |
744 | struct gfs2_sbd *sdp = GFS2_SB(inode); | 744 | struct gfs2_sbd *sdp = GFS2_SB(inode); |
745 | struct address_space *metamapping = gfs2_glock2aspace(ip->i_gl); | 745 | struct address_space *metamapping = gfs2_glock2aspace(ip->i_gl); |
746 | struct backing_dev_info *bdi = metamapping->backing_dev_info; | 746 | struct backing_dev_info *bdi = inode_to_bdi(metamapping->host); |
747 | int ret = 0; | 747 | int ret = 0; |
748 | 748 | ||
749 | if (wbc->sync_mode == WB_SYNC_ALL) | 749 | if (wbc->sync_mode == WB_SYNC_ALL) |
diff --git a/fs/nfs/filelayout/filelayout.c b/fs/nfs/filelayout/filelayout.c index 7afb52f6a25a..51aa889611cf 100644 --- a/fs/nfs/filelayout/filelayout.c +++ b/fs/nfs/filelayout/filelayout.c | |||
@@ -1081,7 +1081,7 @@ mds_commit: | |||
1081 | spin_unlock(cinfo->lock); | 1081 | spin_unlock(cinfo->lock); |
1082 | if (!cinfo->dreq) { | 1082 | if (!cinfo->dreq) { |
1083 | inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); | 1083 | inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); |
1084 | inc_bdi_stat(page_file_mapping(req->wb_page)->backing_dev_info, | 1084 | inc_bdi_stat(inode_to_bdi(page_file_mapping(req->wb_page)->host), |
1085 | BDI_RECLAIMABLE); | 1085 | BDI_RECLAIMABLE); |
1086 | __mark_inode_dirty(req->wb_context->dentry->d_inode, | 1086 | __mark_inode_dirty(req->wb_context->dentry->d_inode, |
1087 | I_DIRTY_DATASYNC); | 1087 | I_DIRTY_DATASYNC); |
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index af3af685a9e3..298abcc5281b 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c | |||
@@ -786,7 +786,7 @@ nfs_request_add_commit_list(struct nfs_page *req, struct list_head *dst, | |||
786 | spin_unlock(cinfo->lock); | 786 | spin_unlock(cinfo->lock); |
787 | if (!cinfo->dreq) { | 787 | if (!cinfo->dreq) { |
788 | inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); | 788 | inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); |
789 | inc_bdi_stat(page_file_mapping(req->wb_page)->backing_dev_info, | 789 | inc_bdi_stat(inode_to_bdi(page_file_mapping(req->wb_page)->host), |
790 | BDI_RECLAIMABLE); | 790 | BDI_RECLAIMABLE); |
791 | __mark_inode_dirty(req->wb_context->dentry->d_inode, | 791 | __mark_inode_dirty(req->wb_context->dentry->d_inode, |
792 | I_DIRTY_DATASYNC); | 792 | I_DIRTY_DATASYNC); |
@@ -853,7 +853,7 @@ static void | |||
853 | nfs_clear_page_commit(struct page *page) | 853 | nfs_clear_page_commit(struct page *page) |
854 | { | 854 | { |
855 | dec_zone_page_state(page, NR_UNSTABLE_NFS); | 855 | dec_zone_page_state(page, NR_UNSTABLE_NFS); |
856 | dec_bdi_stat(page_file_mapping(page)->backing_dev_info, BDI_RECLAIMABLE); | 856 | dec_bdi_stat(inode_to_bdi(page_file_mapping(page)->host), BDI_RECLAIMABLE); |
857 | } | 857 | } |
858 | 858 | ||
859 | /* Called holding inode (/cinfo) lock */ | 859 | /* Called holding inode (/cinfo) lock */ |
@@ -1564,7 +1564,7 @@ void nfs_retry_commit(struct list_head *page_list, | |||
1564 | nfs_mark_request_commit(req, lseg, cinfo); | 1564 | nfs_mark_request_commit(req, lseg, cinfo); |
1565 | if (!cinfo->dreq) { | 1565 | if (!cinfo->dreq) { |
1566 | dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); | 1566 | dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); |
1567 | dec_bdi_stat(page_file_mapping(req->wb_page)->backing_dev_info, | 1567 | dec_bdi_stat(inode_to_bdi(page_file_mapping(req->wb_page)->host), |
1568 | BDI_RECLAIMABLE); | 1568 | BDI_RECLAIMABLE); |
1569 | } | 1569 | } |
1570 | nfs_unlock_and_release_request(req); | 1570 | nfs_unlock_and_release_request(req); |
diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c index 643faa44f22b..1da9b2d184dc 100644 --- a/fs/ntfs/file.c +++ b/fs/ntfs/file.c | |||
@@ -19,6 +19,7 @@ | |||
19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <linux/backing-dev.h> | ||
22 | #include <linux/buffer_head.h> | 23 | #include <linux/buffer_head.h> |
23 | #include <linux/gfp.h> | 24 | #include <linux/gfp.h> |
24 | #include <linux/pagemap.h> | 25 | #include <linux/pagemap.h> |
@@ -2091,7 +2092,7 @@ static ssize_t ntfs_file_aio_write_nolock(struct kiocb *iocb, | |||
2091 | count = iov_length(iov, nr_segs); | 2092 | count = iov_length(iov, nr_segs); |
2092 | pos = *ppos; | 2093 | pos = *ppos; |
2093 | /* We can write back this queue in page reclaim. */ | 2094 | /* We can write back this queue in page reclaim. */ |
2094 | current->backing_dev_info = mapping->backing_dev_info; | 2095 | current->backing_dev_info = inode_to_bdi(inode); |
2095 | written = 0; | 2096 | written = 0; |
2096 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); | 2097 | err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); |
2097 | if (err) | 2098 | if (err) |
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 3950693dd0f6..abe7d98d6178 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -2363,7 +2363,7 @@ relock: | |||
2363 | goto out_dio; | 2363 | goto out_dio; |
2364 | } | 2364 | } |
2365 | } else { | 2365 | } else { |
2366 | current->backing_dev_info = file->f_mapping->backing_dev_info; | 2366 | current->backing_dev_info = inode_to_bdi(inode); |
2367 | written = generic_perform_write(file, from, *ppos); | 2367 | written = generic_perform_write(file, from, *ppos); |
2368 | if (likely(written >= 0)) | 2368 | if (likely(written >= 0)) |
2369 | iocb->ki_pos = *ppos + written; | 2369 | iocb->ki_pos = *ppos + written; |
diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 13e974e6a889..5684ac3e7d18 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c | |||
@@ -699,7 +699,7 @@ xfs_file_buffered_aio_write( | |||
699 | 699 | ||
700 | iov_iter_truncate(from, count); | 700 | iov_iter_truncate(from, count); |
701 | /* We can write back this queue in page reclaim */ | 701 | /* We can write back this queue in page reclaim */ |
702 | current->backing_dev_info = mapping->backing_dev_info; | 702 | current->backing_dev_info = inode_to_bdi(inode); |
703 | 703 | ||
704 | write_retry: | 704 | write_retry: |
705 | trace_xfs_file_buffered_write(ip, count, iocb->ki_pos, 0); | 705 | trace_xfs_file_buffered_write(ip, count, iocb->ki_pos, 0); |