Messages in this thread | | | Date | Thu, 30 Oct 2008 13:03:49 -0500 | From | Eric Sandeen <> | Subject | Re: ext3: slow symlink corruption on umount... |
| |
Arthur Jones wrote: > Hi Eric, ... > > On Wed, Oct 29, 2008 at 01:36:33PM -0700, Eric Sandeen wrote: >> [...] >> I'll look into it ... > > In the cases that fail, I'm seeing bdi_write_congested() > return 2 at the top of write_cache_pages(). In the working > case, bdi_write_congested() returns 0 and the inodes are > found twice in the s_io list in generic_sync_sb_inodes, > first as i_state==7, where they are skipped, then a second > time as i_state==4, where ->writepage() is then called... > > Arthur
Something is definitely racy here; in my simple testcase I get failures maybe 30-50% of the time...
If I add a mark_buffer_dirty to write_end_fn, it always passes but I need to think a bit about that.
-Eric
| |