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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html