]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit01ec4ac805645a24279c0dffb2068023dbc51135
treecc0dea0ba4395ce564991f0983c978cf21a0c9bd
parent7ab24aa6dd5059df72596bfb43b25fd249b8835c
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