Re: 2.6.19-rc2-mm1

Nick Piggin
2006-10-18T18:14:37Z

Badari Pulavarty wrote:
> On Thu, 2006-10-19 at 03:32 +1000, Nick Piggin wrote:

>>Sorry. Can you try with ext2? Alternatively, try with ext3 or reiserfs
>>and change the line in mm/filemap.c:generic_file_buffered_write from
>>
>> status = a_ops->commit_write(file, page, offset, offset+copied);
>>to
>> status = a_ops->commit_write(file, page, offset, offset+bytes);
>>
>>and see if that solves your problem (that will result in rubbish being
>>temporarily visible, but there is a similar problem upstream anyway, so it
>>shouldn't cause other failures in your test).
>
>
> No. Above change didn't help either :(

OK, so it isn't due to passing in a short / zero length to commit_write.

It is more likely to be a subtle bug when retrying the write after having
faulted on the first page. Hmm, you wouldn't be deadlocking on i_mutex,
due to faulting in fault_in_pages_readable (that is against the documented
lock ordering, but thank god it looks like the documentation is incorrect
as msync doesn't hold mmap_sem over do_fsync).

I can't see anything yet, but I'll keep looking (and try to reproduce
if I can get TLP working).

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com