diff options
| author | Christoph Hellwig <hch@lst.de> | 2015-01-14 04:42:36 -0500 |
|---|---|---|
| committer | Jens Axboe <axboe@fb.com> | 2015-01-20 16:03:04 -0500 |
| commit | de1414a654e66b81b5348dbc5259ecf2fb61655e (patch) | |
| tree | 2b3d60d6c0dc87ba33caff3e326d5648831d6176 /include | |
| parent | 26ff13047e3dc6c0230a629867e8dbd4a15a7626 (diff) | |
fs: export inode_to_bdi and use it in favor of mapping->backing_dev_info
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>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/backing-dev.h | 6 | ||||
| -rw-r--r-- | include/trace/events/writeback.h | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 478f95d92d73..ed59dee03a71 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h | |||
| @@ -106,6 +106,8 @@ struct backing_dev_info { | |||
| 106 | #endif | 106 | #endif |
| 107 | }; | 107 | }; |
| 108 | 108 | ||
| 109 | struct backing_dev_info *inode_to_bdi(struct inode *inode); | ||
| 110 | |||
| 109 | int __must_check bdi_init(struct backing_dev_info *bdi); | 111 | int __must_check bdi_init(struct backing_dev_info *bdi); |
| 110 | void bdi_destroy(struct backing_dev_info *bdi); | 112 | void bdi_destroy(struct backing_dev_info *bdi); |
| 111 | 113 | ||
| @@ -303,12 +305,12 @@ static inline bool bdi_cap_account_writeback(struct backing_dev_info *bdi) | |||
| 303 | 305 | ||
| 304 | static inline bool mapping_cap_writeback_dirty(struct address_space *mapping) | 306 | static inline bool mapping_cap_writeback_dirty(struct address_space *mapping) |
| 305 | { | 307 | { |
| 306 | return bdi_cap_writeback_dirty(mapping->backing_dev_info); | 308 | return bdi_cap_writeback_dirty(inode_to_bdi(mapping->host)); |
| 307 | } | 309 | } |
| 308 | 310 | ||
| 309 | static inline bool mapping_cap_account_dirty(struct address_space *mapping) | 311 | static inline bool mapping_cap_account_dirty(struct address_space *mapping) |
| 310 | { | 312 | { |
| 311 | return bdi_cap_account_dirty(mapping->backing_dev_info); | 313 | return bdi_cap_account_dirty(inode_to_bdi(mapping->host)); |
| 312 | } | 314 | } |
| 313 | 315 | ||
| 314 | static inline int bdi_sched_wait(void *word) | 316 | static inline int bdi_sched_wait(void *word) |
diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index cee02d65ab3f..74f5207bd090 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h | |||
| @@ -47,7 +47,7 @@ TRACE_EVENT(writeback_dirty_page, | |||
| 47 | 47 | ||
| 48 | TP_fast_assign( | 48 | TP_fast_assign( |
| 49 | strncpy(__entry->name, | 49 | strncpy(__entry->name, |
| 50 | mapping ? dev_name(mapping->backing_dev_info->dev) : "(unknown)", 32); | 50 | mapping ? dev_name(inode_to_bdi(mapping->host)->dev) : "(unknown)", 32); |
| 51 | __entry->ino = mapping ? mapping->host->i_ino : 0; | 51 | __entry->ino = mapping ? mapping->host->i_ino : 0; |
| 52 | __entry->index = page->index; | 52 | __entry->index = page->index; |
| 53 | ), | 53 | ), |
| @@ -72,7 +72,7 @@ DECLARE_EVENT_CLASS(writeback_dirty_inode_template, | |||
| 72 | ), | 72 | ), |
| 73 | 73 | ||
| 74 | TP_fast_assign( | 74 | TP_fast_assign( |
| 75 | struct backing_dev_info *bdi = inode->i_mapping->backing_dev_info; | 75 | struct backing_dev_info *bdi = inode_to_bdi(inode); |
| 76 | 76 | ||
| 77 | /* may be called for files on pseudo FSes w/ unregistered bdi */ | 77 | /* may be called for files on pseudo FSes w/ unregistered bdi */ |
| 78 | strncpy(__entry->name, | 78 | strncpy(__entry->name, |
| @@ -116,7 +116,7 @@ DECLARE_EVENT_CLASS(writeback_write_inode_template, | |||
| 116 | 116 | ||
| 117 | TP_fast_assign( | 117 | TP_fast_assign( |
| 118 | strncpy(__entry->name, | 118 | strncpy(__entry->name, |
| 119 | dev_name(inode->i_mapping->backing_dev_info->dev), 32); | 119 | dev_name(inode_to_bdi(inode)->dev), 32); |
| 120 | __entry->ino = inode->i_ino; | 120 | __entry->ino = inode->i_ino; |
| 121 | __entry->sync_mode = wbc->sync_mode; | 121 | __entry->sync_mode = wbc->sync_mode; |
| 122 | ), | 122 | ), |
