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>
This commit is contained in:
Miao Xie 2013-12-26 13:07:02 +08:00 committed by Chris Mason
parent 74c40f925e
commit 4dd466d36a

View File

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