Commit 089eed29b4021f8b68ec3d1746a1f9b9c4f04783
Exists in
master
and in
4 other branches
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: writeback: always use sb->s_bdi for writeback purposes
Showing 1 changed file Side-by-side Diff
fs/fs-writeback.c
... | ... | @@ -72,22 +72,11 @@ |
72 | 72 | static inline struct backing_dev_info *inode_to_bdi(struct inode *inode) |
73 | 73 | { |
74 | 74 | struct super_block *sb = inode->i_sb; |
75 | - struct backing_dev_info *bdi = inode->i_mapping->backing_dev_info; | |
76 | 75 | |
77 | - /* | |
78 | - * For inodes on standard filesystems, we use superblock's bdi. For | |
79 | - * inodes on virtual filesystems, we want to use inode mapping's bdi | |
80 | - * because they can possibly point to something useful (think about | |
81 | - * block_dev filesystem). | |
82 | - */ | |
83 | - if (sb->s_bdi && sb->s_bdi != &noop_backing_dev_info) { | |
84 | - /* Some device inodes could play dirty tricks. Catch them... */ | |
85 | - WARN(bdi != sb->s_bdi && bdi_cap_writeback_dirty(bdi), | |
86 | - "Dirtiable inode bdi %s != sb bdi %s\n", | |
87 | - bdi->name, sb->s_bdi->name); | |
88 | - return sb->s_bdi; | |
89 | - } | |
90 | - return bdi; | |
76 | + if (strcmp(sb->s_type->name, "bdev") == 0) | |
77 | + return inode->i_mapping->backing_dev_info; | |
78 | + | |
79 | + return sb->s_bdi; | |
91 | 80 | } |
92 | 81 | |
93 | 82 | static void bdi_queue_work(struct backing_dev_info *bdi, |