Hi Josef, [..SNIP..] > > On 01/31/2014 11:37 AM, Wang Shilong wrote: >> Hello Josef, >> >>> > > 2) Remove the per-root rwsem for the commit root and just make one big > rwsem that covers all commit root switching. This way everybody who > wants to search with the commit root can just use this semaphore and all > be safe. It will mean that the inode cache stuff may block longer than > normal but I don't think that's too big of a deal. > I am ok with this fix, I wanted to talk something about protecting searching commit file root, this is really a problem especially for full send. I have some ideas about this issue: #1.don't use commit file root to search. This will become a nightmare when we are doing full send which will iterate the whole file tree, at the same time, we snapshot send root, snapshots will be blocked until send finished. #2. don't allow snapshot if we are sending root. This may be a little confusing, snapshots are readonly, but users can not snapshot it. #3. after one iteration, we do check send_root's generation, and make sure it doesn't change, if it changed, then we restart send again. I don't know which approach is better,and also snapshot-aware defragment will change read-only snapshot? Did you have any better ideas about this issue? Share it with me here.^_^ Thanks, Wang > > Josef -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
