]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: do not allow logged extents to be merged or removed
authorJosef Bacik <jbacik@fusionio.com>
Thu, 24 Jan 2013 17:02:07 +0000 (12:02 -0500)
committerJosef Bacik <jbacik@fusionio.com>
Thu, 24 Jan 2013 17:49:48 +0000 (12:49 -0500)
commit707c5c1b9f69e5f9bbdf5ebe1750fe49fe97dc30
tree2e184b0b5a702855163d7da2fa5bee2a6fb8ef98
parenta48d22f617bc00fb72ca990d08be38ea28e7c45f
Btrfs: do not allow logged extents to be merged or removed

We drop the extent map tree lock while we're logging extents, so somebody
could come in and merge another extent into this one and screw up our
logging, or they could even remove us from the list which would keep us from
logging the extent or freeing our ref on it, so we need to make sure to not
clear LOGGING until after the extent is logged, and then we can merge it to
adjacent extents.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/extent_map.c
fs/btrfs/extent_map.h
fs/btrfs/tree-log.c