diff options
author | Steve French <sfrench@us.ibm.com> | 2010-06-16 13:19:36 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2010-06-16 13:19:36 +0000 |
commit | 0933a95dfdb1ae5c93e1ede5899f35acc2bb244d (patch) | |
tree | 55ac47b819a2a2084f82f9d823d9152ac2a7f2b3 /fs/btrfs/relocation.c | |
parent | 12420ac341533f3715b3deb788637568f22b78ff (diff) | |
parent | 7e27d6e778cd87b6f2415515d7127eba53fe5d02 (diff) |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'fs/btrfs/relocation.c')
-rw-r--r-- | fs/btrfs/relocation.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 05d41e569236..b37d723b9d4a 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -784,16 +784,17 @@ again: struct btrfs_extent_ref_v0 *ref0; ref0 = btrfs_item_ptr(eb, path1->slots[0], struct btrfs_extent_ref_v0); - root = find_tree_root(rc, eb, ref0); - if (!root->ref_cows) - cur->cowonly = 1; if (key.objectid == key.offset) { + root = find_tree_root(rc, eb, ref0); if (root && !should_ignore_root(root)) cur->root = root; else list_add(&cur->list, &useless); break; } + if (is_cowonly_root(btrfs_ref_root_v0(eb, + ref0))) + cur->cowonly = 1; } #else BUG_ON(key.type == BTRFS_EXTENT_REF_V0_KEY); |