On Wed, Dec 21 2016, Jeff Layton wrote: > We already have inode_inc_iversion. Add inode_set_iversion, > inode_get_iversion, inode_cmp_iversion and inode_iversion_need_inc. This list of added interfaces is incomplete. And some of these interfaces could really use some justification up front. You later add a "force" parameter to inode_inc_version. Why not do that up front here? > + > +/** > + * inode_get_iversion - read i_version for later use > + * @inode: inode from which i_version should be read > + * > + * Read the inode i_version counter. This should be used by callers that wish > + * to store the returned i_version for later comparison. > + */ > +static inline u64 > +inode_get_iversion(const struct inode *inode) > +{ > + return inode_get_iversion_raw(inode); > +} I don't understand why this can use the _raw version rather than the _read version. Surely you need to know about any changes after this read. Thanks, NeilBrown