ext4: discard preallocations after removing space
authorLukas Czerner <lczerner@redhat.com>
Fri, 18 Apr 2014 14:50:23 +0000 (10:50 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 18 Apr 2014 14:50:23 +0000 (10:50 -0400)
commitef24f6c234de9a03aed9368163dbaad9a4f6391f
treecc0dea0ba4395ce564991f0983c978cf21a0c9bd
parent9337d5d31ab798f0c74150506371551a9195251a
ext4: discard preallocations after removing space

Currently in ext4_collapse_range() and ext4_punch_hole() we're
discarding preallocation twice. Once before we attempt to do any changes
and second time after we're done with the changes.

While the second call to ext4_discard_preallocations() in
ext4_punch_hole() case is not needed, we need to discard preallocation
right after ext4_ext_remove_space() in collapse range case because in
the case we had to restart a transaction in the middle of removing space
we might have new preallocations created.

Remove unneeded ext4_discard_preallocations() ext4_punch_hole() and move
it to the better place in ext4_collapse_range()

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/extents.c
fs/ext4/inode.c