瀏覽代碼

Btrfs: don't loop forever if we can't run because of the tree mod log

A user reported a 100% cpu hang with my new delayed ref code.  Turns out I
forgot to increase the count check when we can't run a delayed ref because of
the tree mod log.  If we can't run any delayed refs during this there is no
point in continuing to look, and we need to break out.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
Josef Bacik 11 年之前
父節點
當前提交
27a377db74
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      fs/btrfs/extent-tree.c

+ 1 - 0
fs/btrfs/extent-tree.c

@@ -2385,6 +2385,7 @@ static noinline int __btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
 			spin_unlock(&delayed_refs->lock);
 			spin_unlock(&delayed_refs->lock);
 			locked_ref = NULL;
 			locked_ref = NULL;
 			cond_resched();
 			cond_resched();
+			count++;
 			continue;
 			continue;
 		}
 		}