diff options
author | Tejun Heo <tj@kernel.org> | 2014-09-08 01:04:01 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-09-08 18:00:43 +0200 |
commit | 018a17bdc8658ad448497c84d4ba21b6985820ec (patch) | |
tree | 77bfb4ea1b75452dd68817d59770e8d1c6bd37ec /mm/backing-dev.c | |
parent | bdi: explain the dirty list transferring in bdi_destroy() (diff) | |
download | linux-018a17bdc8658ad448497c84d4ba21b6985820ec.tar.xz linux-018a17bdc8658ad448497c84d4ba21b6985820ec.zip |
bdi: reimplement bdev_inode_switch_bdi()
A block_device may be attached to different gendisks and thus
different bdis over time. bdev_inode_switch_bdi() is used to switch
the associated bdi. The function assumes that the inode could be
dirty and transfers it between bdis if so. This is a bit nasty in
that it reaches into bdi internals.
This patch reimplements the function so that it writes out the inode
if dirty. This is a lot simpler and can be implemented without
exposing bdi internals.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'mm/backing-dev.c')
-rw-r--r-- | mm/backing-dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index b65fe93ad612..7d63d5e9d3de 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -40,7 +40,7 @@ LIST_HEAD(bdi_list); /* bdi_wq serves all asynchronous writeback tasks */ struct workqueue_struct *bdi_wq; -void bdi_lock_two(struct bdi_writeback *wb1, struct bdi_writeback *wb2) +static void bdi_lock_two(struct bdi_writeback *wb1, struct bdi_writeback *wb2) { if (wb1 < wb2) { spin_lock(&wb1->list_lock); |