]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: catch cow on deleting snapshots
authorJosef Bacik <jbacik@fb.com>
Fri, 30 Nov 2018 16:52:13 +0000 (11:52 -0500)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Dec 2018 13:51:48 +0000 (14:51 +0100)
commite057fb8eb69ef099ff86b65133e699e2a837eff5
treed552f12d1a5870ce7be0c6fceff361f558b96265
parent0755677019224b28fec5d2922a2e4d1f1f50edd3
btrfs: catch cow on deleting snapshots

When debugging some weird extent reference bug I suspected that we were
changing a snapshot while we were deleting it, which could explain my
bug.  This was indeed what was happening, and this patch helped me
verify my theory.  It is never correct to modify the snapshot once it's
being deleted, so mark the root when we are deleting it and make sure we
complain about it when it happens.

Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c
fs/btrfs/ctree.h
fs/btrfs/extent-tree.c