On Fri, Oct 08, 2010 at 10:08:02AM +0100, Al Viro wrote: > On Fri, Oct 08, 2010 at 04:21:18PM +1100, Dave Chinner wrote: > > > void __iget(struct inode *inode) > > { > > - if (atomic_inc_return(&inode->i_count) != 1) > > - return; > > - > > - if (!(inode->i_state & (I_DIRTY|I_SYNC))) > > - list_move(&inode->i_list, &inode_in_use); > > - percpu_counter_dec(&nr_inodes_unused); > > + atomic_inc(&inode->i_count); > > } > > Umm... Are you sure we don't rely on implict barriers present in the current > version? I'll confess that I have no idea what you are talking about, Al. Instead, I'll ask if the conversion later one where all accesses and modifications to the reference count are moved under the inode->i_lock is sufficient to provide the necessary memory barriers? 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