![]() | |||||||||||||
Messages in this thread |
David Chinner <dgc@sgi.com> wrote: > > > So to fix both these problems we need to be smarter about terminating the > > wb_kupdate() loop. Something like "loop until no expired inodes have been > > written". > > > > Wildly untested patch: > > Wildly untested assertion - it won't fix my case for the same reason I'm seeing > the current code not working - we abort higher up in writeback_inodes() > on the age check. You mean that we're in the state a) big-dirty-expired inode is on s_dirty b) small-dirty-not-expired inode is on s_io sync_sb_inodes() sees the small-dirty-not-expired inode on s_io and gives up? In which case, yes, perhaps leaving big-dirty-expired inode on s_io is the right thing to do. But should we be checking that it has expired before deciding to do this? We don't want to get in a situation where continuous overwriting of a large file causes other files on that fs to never be written out. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-02-07 02:04 [from the cache] ©2003-2008 | |||||||||||||