summaryrefslogtreecommitdiff
path: root/fs/f2fs
diff options
context:
space:
mode:
authorEric Whitney <enwlinux@gmail.com>2014-11-23 05:58:11 (GMT)
committerTheodore Ts'o <tytso@mit.edu>2014-11-23 05:58:11 (GMT)
commit5bf43760654fa618fb8bb1612ee2d7ae164f7f94 (patch)
tree6d54071f41a3980e45a2eda128deb1b42f5cb1b4 /fs/f2fs
parentf4226d9ea400e7124120571b1e89504c79f2e953 (diff)
downloadlinux-5bf43760654fa618fb8bb1612ee2d7ae164f7f94.tar.xz
ext4: fix end of leaf partial cluster handling
The fix in commit ad6599ab3ac9 ("ext4: fix premature freeing of partial clusters split across leaf blocks"), intended to avoid dereferencing an invalid extent pointer when determining whether a partial cluster should be freed, wasn't quite good enough. Assure that at least one extent remains at the start of the leaf once the hole has been punched. Otherwise, the pointer to the extent to the right of the hole will be invalid and a partial cluster will be incorrectly freed. Set partial_cluster to 0 when we can tell we've hit the left edge of the punched region within the leaf. This prevents incorrect freeing of a partial cluster when ext4_ext_rm_leaf is called one last time during extent tree traversal after the punched region has been removed. Adjust comments to reflect code changes and a correction. Remove a bit of dead code. Signed-off-by: Eric Whitney <enwlinux@gmail.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/f2fs')
0 files changed, 0 insertions, 0 deletions