On 2014-09-16 06:42, Ryusuke Konishi wrote:
> On Tue, 16 Sep 2014 00:24:05 +0200, Andreas Rohner wrote:
>> On 2014-09-16 00:01, Ryusuke Konishi wrote:
>>> Hi Andreas,
>>> On Mon, 15 Sep 2014 21:47:30 +0200, Andreas Rohner wrote:
>>>> This bug leads to reproducible silent data loss, despite the use of
>>>> msync(), sync() and a clean unmount of the file system. It is easily
>>>> reproducible with the following script:
>> <snip>
>>> Thank you for reporting this issue.
>>
>> I just stumbled upon the weird behaviour of mmap() while testing the
>> nilfs_sync_fs() patch.
>>
>>> I'd like to look into this patch, it looks to point out an important
>>> regression, but it may take some time since I am quite busy this week..
>>
>> Of course. I understand.
> 
> The patch looks correct.  It is my mistake that the commit 136e877
> leaked consideration for the case where the page doesn't have buffer
> heads.  This fix should be backported to stable kernels. (I'll add a
> "Cc: stable" tag when sending this to Andrew.)
> 
> Did you confirm that the patch works as expected ?

Yes at least with the current master kernel:

BEFORE MMAP:    281ed1d5ae50e8419f9b978aab16de83  /mnt/testfile
AFTER MMAP:     3d9183f1c471b9baff15c9cc8d12c303  /mnt/testfile
AFTER REMOUNT:  3d9183f1c471b9baff15c9cc8d12c303  /mnt/testfile

For the record here is the little tool I used for testing mmap:

https://github.com/zeitgeist87/mmaptest

It writes pages with random bytes at a certain offset using mmap. The
frequent umounts and mounts in the test script are necessary to purge
the page cache. There is probably a better way of doing that.

> I'd appreciate your help on testing the patch for some old kernels.
> (And, please declare a "Tested-by" tag in the reply mail, if the test
> is ok).

Sure I have everything set up. Which kernels do I have to test? Was
commit 136e877 backported? I presume at least stable and some of the
longterm kernels on https://www.kernel.org/...

By the way thanks for your continued effort and time investment in
reviewing my patches.

br,
Andreas Rohner

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to