3 ms·
That talk is about the "relatime" mount option, not the O_NOATIME open() flag. The O_NOATIME open() flag was added following the semantics described in the glib
by cesarb 4y ago
That talk is about the "relatime" mount option, not the O_NOATIME open() flag. The O_NOATIME open() flag was added following the semantics described in the glibc manual (https://www.gnu.org/software/libc/manual/html_node/Operating-Modes.html#index-O_005fNOATIME https://www.gnu.org/software/libc/manual/html_node/Operating... ); I don't know where these semantics came from, my guess (given that it is glibc and O_NOATIME is described as a GNU extension) is that these semantics came from Hurd, though I haven't checked. These semantics aren't ideal (you need extra code to retry without the flag if it fails with a permission error, or you have to open() without the flag and add it later with fcntl(), both cases requiring to an extra system call), if it were added today it probably would have simpler semantics.
(Source: I wrote the patch which added O_NOATIME to the kernel, based on an older patch which didn't get in, see https://lkml.iu.edu/hypermail/linux/kernel/0406.1/0894.html https://lkml.iu.edu/hypermail/linux/kernel/0406.1/0894.html and https://lkml.iu.edu/hypermail/linux/kernel/9811.2/0118.html https://lkml.iu.edu/hypermail/linux/kernel/9811.2/0118.html)