summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu Bo2016-09-14 04:15:48 +0200
committerDavid Sterba2016-09-26 18:04:01 +0200
commita43f7f82064220082eba7075c5a844d773fdef1b (patch)
treec3b005cedbd3c027247fdf70ace686e9aabff567
parentBtrfs: memset to avoid stale content in btree node block (diff)
downloadkernel-qcow2-linux-a43f7f82064220082eba7075c5a844d773fdef1b.tar.gz
kernel-qcow2-linux-a43f7f82064220082eba7075c5a844d773fdef1b.tar.xz
kernel-qcow2-linux-a43f7f82064220082eba7075c5a844d773fdef1b.zip
Btrfs: remove BUG_ON in start_transaction
Since we could get errors from the concurrent aborted transaction, the check of this BUG_ON in start_transaction is not true any more. Say, while flushing free space cache inode's dirty pages, btrfs_finish_ordered_io -> btrfs_join_transaction_nolock (the transaction has been aborted.) -> BUG_ON(type == TRANS_JOIN_NOLOCK); Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Reviewed-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/transaction.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index b53104042e95..2ce9115a55fd 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -549,11 +549,8 @@ again:
}
} while (ret == -EBUSY);
- if (ret < 0) {
- /* We must get the transaction if we are JOIN_NOLOCK. */
- BUG_ON(type == TRANS_JOIN_NOLOCK);
+ if (ret < 0)
goto join_fail;
- }
cur_trans = root->fs_info->running_transaction;