From e7236180b717fcb25a934e562618fd5481e5828b Mon Sep 17 00:00:00 2001 From: Liu Bo Date: Fri, 28 Dec 2012 09:33:19 +0000 Subject: [PATCH] --- yaml --- r: 349163 b: refs/heads/master c: 3268a2468eb6a31af89930cbae58a62fe6ca6d2d h: refs/heads/master i: 349161: fd73d5f7ed407982481d863da68cdec0ed2421b7 349159: 5013b3b581d2232c50a7c81771ad0eecce6811cc v: v3 --- [refs] | 2 +- trunk/fs/btrfs/extent-tree.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 13671c1abad5..02e7fb6793ce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ac5c93005b7073732e268606688fb6c821d5310e +refs/heads/master: 3268a2468eb6a31af89930cbae58a62fe6ca6d2d diff --git a/trunk/fs/btrfs/extent-tree.c b/trunk/fs/btrfs/extent-tree.c index aeba53191ece..85b8454d9608 100644 --- a/trunk/fs/btrfs/extent-tree.c +++ b/trunk/fs/btrfs/extent-tree.c @@ -6788,11 +6788,13 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans, &wc->flags[level]); if (ret < 0) { btrfs_tree_unlock_rw(eb, path->locks[level]); + path->locks[level] = 0; return ret; } BUG_ON(wc->refs[level] == 0); if (wc->refs[level] == 1) { btrfs_tree_unlock_rw(eb, path->locks[level]); + path->locks[level] = 0; return 1; } }