diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index ba50bd7..120c448 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -1312,7 +1312,10 @@
 		BUG_ON(ret);
 		if (refs != 1)
 			continue;
+		mutex_unlock(&root->fs_info->fs_mutex);
 		ret = readahead_tree_block(root, blocknr);
+		cond_resched();
+		mutex_lock(&root->fs_info->fs_mutex);
 		if (ret)
 			break;
 	}
@@ -1445,7 +1448,6 @@
 	struct btrfs_path *path;
 	int i;
 	int orig_level;
-	int num_walks = 0;
 	struct btrfs_root_item *root_item = &root->root_item;
 
 	path = btrfs_alloc_path();
@@ -1486,12 +1488,9 @@
 			break;
 		if (wret < 0)
 			ret = wret;
-		num_walks++;
-		if (num_walks > 2) {
-			ret = -EAGAIN;
-			get_bh(root->node);
-			break;
-		}
+		ret = -EAGAIN;
+		get_bh(root->node);
+		break;
 	}
 	for (i = 0; i <= orig_level; i++) {
 		if (path->nodes[i]) {
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index e64ecec..204337c 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -364,6 +364,9 @@
 					break;
 			}
 			root->defrag_running = 0;
+			radix_tree_tag_clear(&info->fs_roots_radix,
+				     (unsigned long)root->root_key.objectid,
+				     BTRFS_ROOT_DEFRAG_TAG);
 		}
 	}
 	btrfs_end_transaction(trans, tree_root);
diff --git a/fs/btrfs/tree-defrag.c b/fs/btrfs/tree-defrag.c
index 15d0a48..7ea66b4 100644
--- a/fs/btrfs/tree-defrag.c
+++ b/fs/btrfs/tree-defrag.c
@@ -148,7 +148,6 @@
 	int level;
 	int orig_level;
 	int i;
-	int num_runs = 0;
 
 	if (root->ref_cows == 0) {
 		goto out;
@@ -200,10 +199,8 @@
 			break;
 		if (wret < 0)
 			ret = wret;
-		if (num_runs++ > 8) {
-			ret = -EAGAIN;
-			break;
-		}
+		ret = -EAGAIN;
+		break;
 	}
 	for (i = 0; i <= orig_level; i++) {
 		if (path->nodes[i]) {
