xfs
[Top] [All Lists]

Re: mmap vs mtime in 2.6.26 and up

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: mmap vs mtime in 2.6.26 and up
From: Ferenc Wagner <wferi@xxxxxxx>
Date: Fri, 25 Sep 2009 14:47:42 +0200
Cc: Ray Lee <ray-lk@xxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Peter Staubach <staubach@xxxxxxxxxx>, Miklos Szeredi <mszeredi@xxxxxxx>, xfs@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-reply-to: Ferenc Wagner's message of "Wed, 22 Jul 2009 20:01:54 +0200"
References: <20090518114305.GA6303@xxxxxxxxxxxxx>
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)
Ferenc Wagner <wferi@xxxxxxx> writes:

> Christoph Hellwig <hch@xxxxxxxxxxxxx> writes:
>
>> On Fri, May 15, 2009 at 12:50:54PM -0400, Christoph Hellwig wrote:
>>
>>> On Fri, May 15, 2009 at 06:40:29PM +0200, Ferenc Wagner wrote:
>>>
>>>> Thanks for the analysis.  Unfortunately I don't nearly know enough to
>>>> work on this issue, but would like to track it as it affects our
>>>> backup system.  So, shouldn't #2645 be reopened again?
>>> 
>>> Yes, definitively as the current "fix" is incorrected.  I'll try to cook
>>> up a correct version once I get some time.
>>
>> Doing this correctly in the framework of the current codee is
>> unfortunately not so easy, as calling ->setattr requires taking i_mutex
>> which we can't in the pagefaul path.
>>
>> To fix this properly we need to actually update the timestamps during
>> msync and co as done by the patches from Miklos:
>>      http://lkml.org/lkml/2007/2/28/166
>> and Peter:
>>      http://lkml.org/lkml/2006/5/31/176
>
> http://bugzilla.kernel.org/show_bug.cgi?id=2645#c53 shows that Anton
> doesn't quite agree with you on this.  I really can't tell, would you
> (or anybody from the accused XFS community) please comment?  Or did
> you perhaps fix it meanwhile?  I can't easily test newer kernels, but
> I will if there's some chance.

I added some fresh test results to
http://bugzilla.kernel.org/show_bug.cgi?id=2645.  In short, under
2.6.30-rc8 the test program reports full failure on XFS and RAMFS,
full success on EXT3, VFAT and ReiserFS, and mixed results on TMPFS:

$ ./mmap /dev/shm/testfile 
Modifying /dev/shm/testfile...
Flushing data using sync()...
Failure: time not changed.
Not modifying /dev/shm/testfile...
Flushing data using msync()...
Success: time not changed.
Not modifying /dev/shm/testfile...
Flushing data using fsync()...
Success: time not changed.
Modifying /dev/shm/testfile...
Flushing data using msync()...
Failure: time not changed.
Modifying /dev/shm/testfile...
Flushing data using fsync()...
Failure: time not changed.

This doesn't look like az XFS-specific issue, but XFS is definitely
affected.  Anybody's got an idea how to tackle this?
-- 
Regards,
Feri.

<Prev in Thread] Current Thread [Next in Thread>