aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/btrfs/ctree.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index e7bea1d5f75f..c7b67cf24bba 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -2564,7 +2564,10 @@ again:
2564 * must have write locks on this node and the 2564 * must have write locks on this node and the
2565 * parent 2565 * parent
2566 */ 2566 */
2567 if (level + 1 > write_lock_level) { 2567 if (level > write_lock_level ||
2568 (level + 1 > write_lock_level &&
2569 level + 1 < BTRFS_MAX_LEVEL &&
2570 p->nodes[level + 1])) {
2568 write_lock_level = level + 1; 2571 write_lock_level = level + 1;
2569 btrfs_release_path(p); 2572 btrfs_release_path(p);
2570 goto again; 2573 goto again;