| Submitter | Jens Axboe |
|---|---|
| Date | 2009-09-14 09:05:33 |
| Message ID | <20090914090533.GU14984@kernel.dk> |
| Download | mbox | patch |
| Permalink | /patch/47261/ |
| State | New |
| Headers | show |
Comments
Patch
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index fd93566..27f82dc 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -668,7 +668,17 @@ void bdi_destroy(struct backing_dev_info *bdi) { int i; - WARN_ON(bdi_has_dirty_io(bdi)); + /* + * Splice our entries to the default_backing_dev_info, if this + * bdi disappears + */ + if (bdi_has_dirty_io(bdi)) { + struct bdi_writeback *dst = &default_backing_dev_info.wb; + + list_splice(&bdi->wb.b_dirty, &dst->b_dirty); + list_splice(&bdi->wb.b_io, &dst->b_io); + list_splice(&bdi->wb.b_more_io, &dst->b_more_io); + } bdi_unregister(bdi);