Excerpts from Yan, Zheng's message of 2011-06-13 10:58:35 -0400: > The usage of trans_mutex in relocation code is subtle. It controls > interaction of relocation > with transaction start, transaction commit and snapshot creation. > Simple replacing > trans_mutex with trans_lock is wrong.
So, I've got a mutex around the reloc_root here and that was almost but not quite enough. It looks like the biggest problem is that we need to wait in btrfs_record_root_in_trans for anyone inside merge_reloc_roots. I'm surviving much longer with a patch in place that synchronizes btrfs_record_root_in_trans better. Zheng if you have other comments on the locking please let me know. -chris -- 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