]> git.hungrycats.org Git - linux/commitdiff
Btrfs: fix qgroup sanity tests
authorJosef Bacik <jbacik@fb.com>
Mon, 5 Oct 2015 14:35:29 +0000 (10:35 -0400)
committerZygo Blaxell <zblaxell@serenity.furryterror.org>
Wed, 28 Oct 2015 01:07:21 +0000 (21:07 -0400)
With my changes to allow us to find old roots when resolving indirect refs I
introduced a regression to the sanity tests.  Since we don't really care to go
down into the fs roots we just need to have the old behavior of returning ENOENT
for dummy roots for the sanity tests.  In the future if we want to get fancy we
can populate the test fs trees with the references as well.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
(cherry picked from commit 5d4dcafe25494e631f8a4477f6c6470e7e8aee9e)
(cherry picked from commit 247accacb2d29301a96af39fff1dd6b28b7b21c3)

fs/btrfs/backref.c

index 741bdb994e52aa492652eeecf9658a4e2d5637b1..e5afba0a7774f77e8deb11924697198a95788cb3 100644 (file)
@@ -362,6 +362,12 @@ static int __resolve_indirect_ref(struct btrfs_fs_info *fs_info,
                goto out;
        }
 
+       if (btrfs_test_is_dummy_root(root)) {
+               srcu_read_unlock(&fs_info->subvol_srcu, index);
+               ret = -ENOENT;
+               goto out;
+       }
+
        if (path->search_commit_root)
                root_level = btrfs_header_level(root->commit_root);
        else if (time_seq == (u64)-1)