Hello Josef, > > On 01/14/2014 11:26 AM, Wang Shilong wrote: >> From: Wang Shilong <wangsl.f...@cn.fujitsu.com> >> >> Now we have kicked off transaction from btrfs send, it is not safe >> that we use extent commit root to search. >> >> I happended to catch this problem when running sending and snapshot >> in my desktop. > > I'm confused about this, we are searching a read only snapshot, why isn't > looking at the commit root ok? Thanks,
I sent a patch to remove transaction outsize before. http://git.kernel.org/cgit/linux/kernel/git/mason/linux-btrfs.git/commit/?h=integration&id=e0cbfccf3d518f1fb6f8e10932a67d75df2a4380 Previously, we can search extent commit root, it is because we are protected by join and end transaction, since this patch, we can not. A further question is now we still have to join transaction actually, only the transaction protection range is smaller, but we may encounter extent root's lock contention. I don't know which approach is better, the url's patch have been pushed into chris's integration branch before i realized it would caused other problems. Maybe a better a approach is to join and end transaction outsize of find_extent_clone(), and then we still can use extent commit root for sending.^_^ Thanks, Wang > > 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