aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorMiao Xie <miaox@cn.fujitsu.com>2013-12-26 00:07:01 -0500
committerChris Mason <clm@fb.com>2014-01-28 16:20:06 -0500
commit74c40f925e0d8e1ddfe5f9fc410b4c2f6c70acf5 (patch)
treec64fc3a86456f87fe6b96171c0505edfb3d99b6f /fs/btrfs
parentefe120a067c8674a8ae21b194f0e68f098b61ee2 (diff)
Btrfs: remove residual code in delayed inode async helper
Before applying the patch commit de3cb945db4d8eb3b046dc7a5ea89a893372750c title: Btrfs: improve the delayed inode throttling We need requeue the async work after the current work was done, it introduced a deadlock problem. So we wrote the code that this patch removes to avoid the above problem. But after applying the above patch, the deadlock problem didn't exist. So we should remove that fix code. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/delayed-inode.c27
1 files changed, 0 insertions, 27 deletions
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 584194938612..608efeb24aea 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -1300,33 +1300,6 @@ again:
1300 trans->block_rsv = &root->fs_info->delayed_block_rsv; 1300 trans->block_rsv = &root->fs_info->delayed_block_rsv;
1301 1301
1302 __btrfs_commit_inode_delayed_items(trans, path, delayed_node); 1302 __btrfs_commit_inode_delayed_items(trans, path, delayed_node);
1303 /*
1304 * Maybe new delayed items have been inserted, so we need requeue
1305 * the work. Besides that, we must dequeue the empty delayed nodes
1306 * to avoid the race between delayed items balance and the worker.
1307 * The race like this:
1308 * Task1 Worker thread
1309 * count == 0, needn't requeue
1310 * also needn't insert the
1311 * delayed node into prepare
1312 * list again.
1313 * add lots of delayed items
1314 * queue the delayed node
1315 * already in the list,
1316 * and not in the prepare
1317 * list, it means the delayed
1318 * node is being dealt with
1319 * by the worker.
1320 * do delayed items balance
1321 * the delayed node is being
1322 * dealt with by the worker
1323 * now, just wait.
1324 * the worker goto idle.
1325 * Task1 will sleep until the transaction is commited.
1326 */
1327 mutex_lock(&delayed_node->mutex);
1328 btrfs_dequeue_delayed_node(root->fs_info->delayed_root, delayed_node);
1329 mutex_unlock(&delayed_node->mutex);
1330 1303
1331 trans->block_rsv = block_rsv; 1304 trans->block_rsv = block_rsv;
1332 btrfs_end_transaction_dmeta(trans, root); 1305 btrfs_end_transaction_dmeta(trans, root);