| Subject | Re: [patch 16/52] fs: dcache RCU for multi-step operaitons | From | Peter Zijlstra <> | Date | Thu, 24 Jun 2010 09:58:10 +0200 |
| |
On Thu, 2010-06-24 at 13:02 +1000, npiggin@suse.de 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?
|