f2fs: fix to wait all atomic written pages writeback
authorChao Yu <chao2.yu@samsung.com>
Fri, 17 Jul 2015 10:05:21 +0000 (18:05 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 5 Aug 2015 15:08:12 +0000 (08:08 -0700)
This patch fixes the incorrect range (0, LONG_MAX) which is used
in ranged fsync. If we use LONG_MAX as the parameter for indicating
the end of file we want to synchronize, in 32-bits architecture
machine, these datas after 4GB offset may not be persisted in
storage after ->fsync returned.

Here, we alter LONG_MAX to LLONG_MAX to fix this issue.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c

index 15df014aadc7fc26e716302d4225bd85f81fbb9f..d4da7fec757d08a9040bb3ed087ef74c145a6a9c 100644 (file)
@@ -1357,7 +1357,7 @@ static int f2fs_ioc_commit_atomic_write(struct file *filp)
                commit_inmem_pages(inode, false);
        }
 
-       ret = f2fs_sync_file(filp, 0, LONG_MAX, 0);
+       ret = f2fs_sync_file(filp, 0, LLONG_MAX, 0);
        mnt_drop_write_file(filp);
        return ret;
 }