diff options
author | Jan Kara <jack@suse.cz> | 2012-09-26 21:52:20 -0400 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2012-10-17 03:49:04 +0100 |
commit | d7644110a92a74c71dfa65834eb9484a5ff7bf1f (patch) | |
tree | 9d80a907a2fa6544b39af25ea7261b2bc9790193 /fs/quota | |
parent | 9881fcc8b68753201ab8f84041ec70beac6df2f6 (diff) |
ext4: fix fdatasync() for files with only i_size changes
commit b71fc079b5d8f42b2a52743c8d2f1d35d655b1c5 upstream.
Code tracking when transaction needs to be committed on fdatasync(2) forgets
to handle a situation when only inode's i_size is changed. Thus in such
situations fdatasync(2) doesn't force transaction with new i_size to disk
and that can result in wrong i_size after a crash.
Fix the issue by updating inode's i_datasync_tid whenever its size is
updated.
Reported-by: Kristian Nielsen <knielsen@knielsen-hq.org>
Signed-off-by: Jan Kara <jack@suse.cz>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'fs/quota')
0 files changed, 0 insertions, 0 deletions