From e6e072805164fcba2a9c690ddef79e7224e0b6dd Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Wed, 27 Jun 2012 15:23:09 +0200 Subject: [PATCH] --- yaml --- r: 311651 b: refs/heads/master c: 9345457f4a539a40056431aeb6f068750857472f h: refs/heads/master i: 311649: ab541edb5f40706893b1ef545dbc970c56ca8b90 311647: 5fd51f3816b6616e3a3aff8a9824f04482536ae5 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/backref.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 591f09b6e7d4..367b3bf2e16b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8ca78f3eda4bf1799e8c4ba02035623fd7a347df +refs/heads/master: 9345457f4a539a40056431aeb6f068750857472f diff --git a/trunk/fs/btrfs/backref.c b/trunk/fs/btrfs/backref.c index 7301cdb4b2cb..cf0df904347f 100644 --- a/trunk/fs/btrfs/backref.c +++ b/trunk/fs/btrfs/backref.c @@ -301,10 +301,14 @@ static int __resolve_indirect_ref(struct btrfs_fs_info *fs_info, goto out; eb = path->nodes[level]; - if (!eb) { - WARN_ON(1); - ret = 1; - goto out; + while (!eb) { + if (!level) { + WARN_ON(1); + ret = 1; + goto out; + } + level--; + eb = path->nodes[level]; } ret = add_all_parents(root, path, parents, level, &ref->key_for_search,