diff options
author | Miao Xie <miaox@cn.fujitsu.com> | 2013-12-26 06:07:01 +0100 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-01-28 22:20:06 +0100 |
commit | 74c40f925e0d8e1ddfe5f9fc410b4c2f6c70acf5 (patch) | |
tree | c64fc3a86456f87fe6b96171c0505edfb3d99b6f /fs/btrfs/delayed-inode.c | |
parent | Btrfs: convert printk to btrfs_ and fix BTRFS prefix (diff) | |
download | linux-74c40f925e0d8e1ddfe5f9fc410b4c2f6c70acf5.tar.xz linux-74c40f925e0d8e1ddfe5f9fc410b4c2f6c70acf5.zip |
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/delayed-inode.c')
-rw-r--r-- | fs/btrfs/delayed-inode.c | 27 |
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: trans->block_rsv = &root->fs_info->delayed_block_rsv; __btrfs_commit_inode_delayed_items(trans, path, delayed_node); - /* - * Maybe new delayed items have been inserted, so we need requeue - * the work. Besides that, we must dequeue the empty delayed nodes - * to avoid the race between delayed items balance and the worker. - * The race like this: - * Task1 Worker thread - * count == 0, needn't requeue - * also needn't insert the - * delayed node into prepare - * list again. - * add lots of delayed items - * queue the delayed node - * already in the list, - * and not in the prepare - * list, it means the delayed - * node is being dealt with - * by the worker. - * do delayed items balance - * the delayed node is being - * dealt with by the worker - * now, just wait. - * the worker goto idle. - * Task1 will sleep until the transaction is commited. - */ - mutex_lock(&delayed_node->mutex); - btrfs_dequeue_delayed_node(root->fs_info->delayed_root, delayed_node); - mutex_unlock(&delayed_node->mutex); trans->block_rsv = block_rsv; btrfs_end_transaction_dmeta(trans, root); |