SETATTR system calls that set a custom atime on an inode (e.g., touch -t 0102030405 a.txt) set both the SETATTR_ATIME and SETATTR_ATIME_SET flags.
Prior to the fix, SETATTR_ATIME_SET was processed first, setting the custom atime correctly.
Then, SETATTR_ATIME was processed, which updated the atime to the current time.
This execution order was essentially overwriting the custom atime immediately. The fix executes the two instructions in the correct order, and fixes a typo (an atime that should have been an mtime).
SETATTR
system calls that set a custom atime on an inode (e.g.,touch -t 0102030405 a.txt
) set both theSETATTR_ATIME
andSETATTR_ATIME_SET
flags. Prior to the fix, SETATTR_ATIME_SET was processed first, setting the customatime
correctly. Then, SETATTR_ATIME was processed, which updated theatime
to the current time.This execution order was essentially overwriting the custom
atime
immediately. The fix executes the two instructions in the correct order, and fixes a typo (anatime
that should have been anmtime
).Before the fix:
After the fix:
(Thanks for an awesome project!)