[Patch] Catch filesystems lacking s_bdi
Jens Axboe
jens.axboe at oracle.com
Fri Apr 23 06:05:32 EDT 2010
On Thu, Apr 22 2010, Jörn Engel wrote:
> On Thu, 22 April 2010 18:27:10 +0200, Jens Axboe wrote:
> >
> > > Jens - please help fix this up.
> >
> > Of course, I already posted a series of patches to fix this up. I want
> > to test them a bit, and I'll send them in tomorrow.
>
> How about something like this to catch future cases? It compiles and
> survived a test boot, so it does seem to work for the common cases like
> tmpfs, procfs, etc.
>
> Jens, you know the bdi code 10x better than me, would this work?
Looks sane, it's a good start. I think we should augment that with a
check to ensure that we don't ever add dirty inodes to this bdi, since
it's not going to be flushed.
Something like a:
WARN_ON(bdi == &noop_backing_dev_info);
to __mark_inode_dirty(). Looking at the code it should already trigger a
warning, since it'll check for BDI_CAP_NO_WRITEBACK (which isn't set
for noop_backing_dev_info) and the fact that noop-bdi isn't registered
to begin with.
So it's probably safe and good enough as-is, I'll add it. Thanks!
--
Jens Axboe
More information about the linux-mtd
mailing list