From: Miao Xie Date: Thu, 1 Nov 2012 07:32:18 +0000 (+0000) Subject: Btrfs: fix joining the same transaction handler more than 2 times X-Git-Tag: v3.8-rc1~71^2~95 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b7d5b0a819498a9c04e1d18201a42468f7edd92a;p=pandora-kernel.git Btrfs: fix joining the same transaction handler more than 2 times If we flush inodes with pending delalloc in a transaction, we may join the same transaction handler more than 2 times. The reason is: Task use_count of trans handle commit_transaction 1 |-> btrfs_start_delalloc_inodes 1 |-> run_delalloc_nocow 1 |-> join_transaction 2 |-> cow_file_range 2 |-> join_transaction 3 In fact, cow_file_range needn't join the transaction again because the caller have joined the transaction, so we fix this problem by this way. Reported-by: Liu Bo Signed-off-by: Miao Xie Signed-off-by: Chris Mason --- Reading git-diff-tree failed