Re: ext3: slow symlink corruption on umount...

From: Eric Sandeen
Date: Thu Oct 30 2008 - 14:04:16 EST


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

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