On Thu, Feb 07, 2013 at 11:55:51PM -0700, Miao Xie wrote:
> Here is the whole story:
>       Trans_Attach_Task               Trans_Commit_Task
>                                       btrfs_commit_transaction()
>                                        |->wait writers to be 1
>       btrfs_attach_transaction()       |
>       btrfs_commit_transaction()       |
>        |                               |->set trans_no_join to 1
>        |                               |  (close join transaction)
>        |->btrfs_run_ordered_operations |
>           (Those ordered operations    |
>            are added when releasing    |
>            file)                       |
>            |->btrfs_join_transaction() |
>               |->wait_commit()         |
>                                        |->wait writers to be 1

I'm just dropping this patch, the way you describe this deadlock can't happen
since the second btrfs_join_transaction() would see theres already a
transaction in current->journal_info and use that and not do wait_commit().  If
you observed a deadlock like this then look at it again, there is something else
going wrong.  Thanks,

Josef
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to