On Wed, 14 Sep 2022, Jeff Layton wrote: > On Wed, 2022-09-14 at 09:24 +1000, NeilBrown wrote: > > On Wed, 14 Sep 2022, Jeff Layton wrote: > > > > > > At that point, bumping i_version both before and after makes a bit more > > > sense, since it better ensures that a change will be noticed, whether > > > the related read op comes before or after the statx. > > > > How does bumping it before make any sense at all? Maybe it wouldn't > > hurt much, but how does it help anyone at all? > > > > My assumption (maybe wrong) was that timestamp updates were done before > the actual write by design. Does doing it before the write make increase > the chances that the inode metadata writeout will get done in the same > physical I/O as the data write? IDK, just speculating here. When the code was written, the inode semaphore (before mutexes) was held over the whole thing, and timestamp resolution was 1 second. So ordering didn't really matter. Since then locking has bee reduced and precision increased but no-one saw any need to fix the ordering. I think that is fine for timestamps. But i_version is about absolute precision, so we need to think carefully about what meets our needs. > > If there's no benefit to doing it before then we should just move it > afterward. Great! Thanks, NeilBrown