Хорошая новость: это ожидаемо.
Флаг lazytime не зависит от strictatime/relatime/noatime. и по умолчанию используется значение relatime. Поэтому, когда вы заменили noatime на lazytime,Неудивительно, что вы увидели, что установлена опция relatime mount.
-- Тед Ц'о
К сожалению, это не объясняет, что это значит.
Буквальное прочтение manpage предполагает, что relatime подавляет как обновления в памяти и записи на диск. lazytime подавляет только запись на диск (и применяется как к mtime, так и к atime). Для меня это имеет смысл, учитывая дискуссии, которые привели к внедрению lazytime. IOW было бы очень легко написать тест для relatime. Но эффект lazytime только виден, если вы посмотрите на запись на диск или проверите, что происходит с нечистыми отключениями.
Лично влияние lazytime на mtime звучит немного странно. Может быть, это хорошая оптимизация для систем с высоким временем безотказной работы, но я не знаю о среднем рабочем столе... И в настоящее время это на самом деле ноутбук; Мы не должны быть настолько неуклюжими по поводу неопределенного или странно частично определенного поведения на powerfail. Это еще более особенное-случай, если вы рассматриваете файловые системы копирования при записи, такие как btrfs; "inode", скорее всего, будет обновлен, даже если размер файла не изменится. Напротив, relatime
прекрасен и детерминирован.
И оптимизация mtime кажется полезной только в том случае, если у вас есть записи в большое количество файлов, которые не меняют свой размер. Я не уверен, что для этого есть даже общий ориентир. Какая-то очень нетривиальная нагрузка на базу данных, я полагаю.
Серьезно, Тед, почему мы не получили lazyatime
?