On Thu, Oct 14, 2010 at 10:55:52AM +1100, Dave Chinner wrote: > > I wonder what's a good workaround for that. Just flushing out all > > dirty state of a block device inode on last close would fix, but we'd > > still have all the dragons hidden underneath until we finally sort > > out the bdi reference mess. > > Perhaps for the moment make __blkdev_put() move the inode onto the > dirty lists for the default bdi when it switches them???in the > mapping? e.g. add a "inode_switch_bdi" helper that is only called in > this case? I really hate to sprinkle special cases all over, but given that Linus decreed he's not going to take larger writeback changes which would be required to fix this for .37 it'll be hard to avoid this. Note that it would really be a bdev_inode_switch_bdi - since the move to using ->s_bdi for all other inodes these hacks aren't required anymore, it's just the block devices that continue using the bdi from the mapping that are causing problems. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html