On 06/15/2011 06:47 AM, Miao Xie wrote: > The following deadlock may happen when doing reservation for metadata: > > Task0 Flush thread Task1 > start_transaction() > shrink_delalloc() > writeback_inodes_sb_nr() > wait for flush thread > end. > btrfs_writepages() > cow_file_range() > btrfs_commit_transaction > wait num_writer == 1 > (wait Task0 end > transaction) > start_transaction() > wait trans commit > end > > Task0 -> Flush thread -> Task1 -> Task0 > > Fix the above deadlock by doing reservation before the trans handle has > been joined into the transaction. > > Signed-off-by: Miao Xie <mi...@cn.fujitsu.com>
I've already taken care of this in [PATCH 1/2] Btrfs: do transaction space reservation before joining the transaction 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