浏览代码

Btrfs: don't run delayed nodes again after all nodes flush

If the number of the delayed items is greater than the upper limit, we will
try to flush all the delayed items. After that, it is unnecessary to run
them again because they are being dealt with by the wokers or the number of
them is less than the lower limit.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
Miao Xie 11 年之前
父节点
当前提交
4dd466d36a
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      fs/btrfs/delayed-inode.c

+ 1 - 0
fs/btrfs/delayed-inode.c

@@ -1395,6 +1395,7 @@ void btrfs_balance_delayed_items(struct btrfs_root *root)
 				break;
 				break;
 		}
 		}
 		finish_wait(&delayed_root->wait, &__wait);
 		finish_wait(&delayed_root->wait, &__wait);
+		return;
 	}
 	}
 
 
 	btrfs_wq_run_delayed_node(delayed_root, root, BTRFS_DELAYED_BATCH);
 	btrfs_wq_run_delayed_node(delayed_root, root, BTRFS_DELAYED_BATCH);