Re: [PATCH 10/16] writeback: splice dirty inode entries to defaultbdi on bdi_destroy()

From: Jens Axboe
Date: Wed Sep 16 2009 - 14:29:40 EST


On Wed, Sep 16 2009, Jan Kara wrote:
> On Wed 16-09-09 15:24:48, Jens Axboe wrote:
> > We cannot safely ensure that the inodes are all gone at this point
> > in time, and we must not destroy this bdi with inodes having off it.
> > So just splice our entries to the default bdi since that one will
> > always persist.
> I'd at least add a comment like
> "XXX: This is probably a bug but let's workaround it for now."
> And either remove the code or update the comment when this gets resolved.

Thinking more about it - what if inodes happen to get requeued on the
final flush? bdi_destroy() likely can't wait for flushing to happen,
since (depending on the tear down cycle), part of the device may be gone
already.

And I did mean __sync_filesystem() -> __sync_blockdev(), since this is
what happen on last close. So it could also be that we need something
stronger to guarantee that things are really gone.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/