On Thu, Oct 21, 2010 at 08:40:45PM +0100, Al Viro wrote: > On Thu, Oct 21, 2010 at 11:49:33AM +1100, Dave Chinner wrote: > > From: Dave Chinner <dchinner@xxxxxxxxxx> > > > > The inode reference count is currently an atomic variable so that it > > can be sampled/modified outside the inode_lock. However, the > > inode_lock is still needed to synchronise the final reference count > > and checks against the inode state. > > > > To avoid needing the protection of the inode lock, protect the inode > > reference count with the per-inode i_lock and convert it to a normal > > variable. To avoid existing out-of-tree code accidentally compiling > > against the new method, rename the i_count field to i_ref. This is > > relatively straight forward as there are limited external references > > to the i_count field remaining. > > BTW, the same thing as with Nick's set - separate patch for "clone the > reference to inode we are already holding" helper, in front of queue. Isn't that already done by the patch 6 "fs: Clean up inode reference counting"? That patch does the converting of stand-alone atomic_inc(&inode->i-count) into iref(inode), not this one. Maybe I've misunderstood what you are wanting to be changed with this patch - can you clarify, Al? Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- 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