diff options
| author | Tejun Heo <tj@kernel.org> | 2014-09-08 08:03:59 +0900 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-09-13 13:35:20 +0200 |
| commit | b5635345b4714afb914522e15c26bc66055c14ee (patch) | |
| tree | 4b620fdc15b5f18a2e6e920c85c6cd5e0757a634 /fs/block_dev.c | |
| parent | 6af0cab8fa04cfe9fb99f244171116f9a7a18e4d (diff) | |
bdi: make backing_dev_info->wb.dwork canceling stricter
Canceling of bdi->wb.dwork is currently a bit mushy.
bdi_wb_shutdown() performs cancel_delayed_work_sync() at the end after
shutting down and flushing the delayed_work and bdi_destroy() tries
yet again after bdi_unregister().
bdi->wb.dwork is queued only after checking BDI_registered while
holding bdi->wb_lock and bdi_wb_shutdown() clears the flag while
holding the same lock and then flushes the delayed_work. There's no
way the delayed_work can be queued again after that.
Replace the two unnecessary cancel_delayed_work_sync() invocations
with WARNs on pending. This simplifies and clarifies the code a bit
and will help future changes in further isolating bdi_writeback
handling.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Diffstat (limited to 'fs/block_dev.c')
0 files changed, 0 insertions, 0 deletions
