On Mon, Jun 27, 2022 at 04:11:07PM -0600, James Yonan wrote: > && d_is_positive(new_dentry) > && timespec64_compare(&d_backing_inode(old_dentry)->i_mtime, > &d_backing_inode(new_dentry)->i_mtime) <= 0) > goto exit5; > > It's pretty cool in a way that a new atomic file operation can even be > implemented in just 5 lines of code, and it's thanks to the existing > locking infrastructure around file rename/move that these operations > become almost trivial. Unfortunately, every fs must approve a new > renameat2() flag, so it bloats the patch a bit. How is it atomic and what's to stabilize ->i_mtime in that test? Confused...