summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
authorJan Schmidt <list.btrfs@jan-o-sch.net>2013-03-20 13:49:48 +0000
committerChris Mason <chris.mason@fusionio.com>2013-03-21 19:31:52 -0400
commitd9abbf1c3131b679379762700201ae69367f3f62 (patch)
treeadaea6d6a6ba572bb0ac77bdba0d8961b6f888ba /fs/btrfs/disk-io.c
parent6113077cd319e747875ec71227d2b5cb54e08c76 (diff)
downloadop-kernel-dev-d9abbf1c3131b679379762700201ae69367f3f62.zip
op-kernel-dev-d9abbf1c3131b679379762700201ae69367f3f62.tar.gz
Btrfs: fix locking on ROOT_REPLACE operations in tree mod log
To resolve backrefs, ROOT_REPLACE operations in the tree mod log are required to be tied to at least one KEY_REMOVE_WHILE_FREEING operation. Therefore, those operations must be enclosed by tree_mod_log_write_lock() and tree_mod_log_write_unlock() calls. Those calls are private to the tree_mod_log_* functions, which means that removal of the elements of an old root node must be logged from tree_mod_log_insert_root. This partly reverts and corrects commit ba1bfbd5 (Btrfs: fix a tree mod logging issue for root replacement operations). This fixes the brand-new version of xfstest 276 as of commit cfe73f71. Cc: stable@vger.kernel.org Signed-off-by: Jan Schmidt <list.btrfs@jan-o-sch.net> Signed-off-by: Josef Bacik <jbacik@fusionio.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'fs/btrfs/disk-io.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud