On Sat, 2017-03-04 at 11:03 +1100, NeilBrown wrote: > On Wed, Dec 21 2016, Jeff Layton wrote: > > > @@ -2072,7 +2093,12 @@ inode_cmp_iversion(const struct inode *inode, const u64 old) > > static inline bool > > inode_iversion_need_inc(struct inode *inode) > > { > > - return true; > > + bool ret; > > + > > + spin_lock(&inode->i_lock); > > + ret = inode->i_state & I_VERS_BUMP; > > + spin_unlock(&inode->i_lock); > > + return ret; > > } > > > > I know this code gets removed, so this isn't really important. > By why do you take the spinlock here? What are you racing again? > > Thanks, > NeilBrown I think I was worried about I_VERS_BUMP being set or cleared during an increment or query. It is quite possible that that spinlock is not necessary. -- Jeff Layton <jlayton@xxxxxxxxxx>