On Tue, Nov 16, 2010 at 6:09 AM, Nick Piggin <npiggin@xxxxxxxxx> wrote: > @@ -290,13 +300,18 @@ void dput(struct dentry *dentry) > * want to reduce dcache_lock anyway so this will > * get improved. > */ > +drop1: > spin_unlock(&dentry->d_lock); > goto repeat; > } > - if (parent && !spin_trylock(&parent->d_lock)) { > - spin_unlock(&dentry->d_lock); > + if (!spin_trylock(&dcache_inode_lock)) { > +drop2: > spin_unlock(&dcache_lock); > - goto repeat; > + goto drop1; > + } > + if (parent && !spin_trylock(&parent->d_lock)) { > + spin_unlock(&dcache_inode_lock); > + goto drop2; > } > } > dentry->d_count--; Another ugh moment. But it gets better in patches 18 and 20. -- 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