| To: | linux-fsdevel@xxxxxxxxxxxxxxx |
|---|---|
| Subject: | [PATCH 0/2 v2] Fix data corruption when blocksize < pagesize for mmapped data |
| From: | Jan Kara <jack@xxxxxxx> |
| Date: | Fri, 10 Oct 2014 16:23:05 +0200 |
| Cc: | linux-ext4@xxxxxxxxxxxxxxx, Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, cluster-devel@xxxxxxxxxx, Steven Whitehouse <swhiteho@xxxxxxxxxx>, Mark Fasheh <mfasheh@xxxxxxxx>, Joel Becker <jlbec@xxxxxxxxxxxx>, ocfs2-devel@xxxxxxxxxxxxxx, reiserfs-devel@xxxxxxxxxxxxxxx, Jeff Mahoney <jeffm@xxxxxxx>, Dave Kleikamp <shaggy@xxxxxxxxxx>, jfs-discussion@xxxxxxxxxxxxxxxxxxxxx, tytso@xxxxxxx, viro@xxxxxxxxxxxxxxxxxx, Jan Kara <jack@xxxxxxx> |
| Delivered-to: | xfs@xxxxxxxxxxx |
Hello,
this is a second version of the patches to fix data corruption in mmapped
data when blocksize < pagesize as tested by xfstests generic/030 test.
The patchset fixes XFS and ext4. I've checked and btrfs doesn't need fixing
because it doesn't support blocksize < pagesize. If that's ever going
to change btrfs will likely need a similar treatment. ocfs2, ext2, ext3 are
OK since they happily allocate blocks during writeback. For other filesystems
like gfs2, ubifs, nilfs, ceph,... I'm not sure whether they support blocksize <
pagesize at all. Interesting is also NFS which may care but I don't understand
its ->page_mkwrite() handler good enough to judge.
Changes since v1:
- changed helper function name and moved it to mm/truncate.c - I originally
thought we can make the helper function update i_size to simplify the
interface but it's actually impossible due to generic_write_end() lock
ordering constraints.
- used round_up() instead of ALIGN()
- taught truncate_setsize() to use the helper function
Honza
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH] ext4: Fix buffer double free in ext4_alloc_branch(), Jan Kara |
|---|---|
| Next by Date: | [PATCH] ext4: Speedup WB_SYNC_ALL pass, Jan Kara |
| Previous by Thread: | [PATCH] xfs: lock for removing item from cil->xc_cil in xlog_cil_push, Xu Wang |
| Next by Thread: | [PATCH 1/2 RESEND] bdi: Fix hung task on sync, Jan Kara |
| Indexes: | [Date] [Thread] [Top] [All Lists] |