On Thu, Jun 24, 2010 at 09:58:10AM +0200, Peter Zijlstra wrote: > On Thu, 2010-06-24 at 13:02 +1000, npiggin@xxxxxxx wrote: > > plain text document attachment (fs-dcache_lock-multi-step.patch) > > The remaining usages for dcache_lock is to allow atomic, multi-step read-side > > operations over the directory tree by excluding modifications to the tree. > > Also, to walk in the leaf->root direction in the tree where we don't have > > a natural d_lock ordering. > > > > This could be accomplished by taking every d_lock, but this would mean a > > huge number of locks and actually gets very tricky. > > > > Solve this instead by using the rename seqlock for multi-step read-side > > operations. Insert operations are not serialised. Delete operations are > > tricky when walking up the directory our parent might have been deleted > > when dropping locks so also need to check and retry for that. > > > > XXX: hmm, we could of course just take the rename lock if there is any worry > > about livelock. Most of these are slow paths. > > > Ah, does this address John's issue? This is where John's issue is introduced. I actually again couldn't see the problem (thought I saw a problem, then lost it!). Got to think about it and test more... I couldn't reproduce the problem mind you, but I was testing mainline wheras bug was seen on -rt. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html