From: Jan Kara on

Hi,

patches below fix (some of) warnings in __mark_inode_dirty complaining about
unregistered BDI (https://bugzilla.kernel.org/show_bug.cgi?id=16312). The
issue is that device inodes describing non-writeable BDI can still get dirty
but they would be filed to writeback lists of these non-writeable BDI's.
Normally, we would just silently throw away the inode modification (bug) but
some unwriteable BDI's (like the one of /dev/zero) aren't marked as such and so
the code in __mark_inode_dirty gets upset that writeback isn't properly setup
although BDI is writeable.
The solution is slightly hacky but it should be a reasonable short term
solution until we resolve the principial issue that device inode should be
written to a different BDI than inode's data. Christoph wrote he has some
ideas in this direction.

Honza

PS: There might be another issue in sd.c code triggering this warning --- BDI
is registered from async callback (add_disk() called from sd_probe_async())
which might happen after userspace tries to access the device if I'm right.
At least this is the only explanation I have for some of the warnings.

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