Будет ли ядро Linux считывать перед записью данные, размер которых меньше размера блока файловой системы?

#linux #memory-management #linux-kernel #filesystems #kernel

#linux #управление памятью #linux-ядро #файловые системы #ядро

Вопрос:

Например, размер блока файловой системы равен 4k, но я записываю в файл только 1 байт, используя прямой ввод-вывод, будет ли ядро считывать этот блок в кэш страницы перед записью?

Ответ №1:

Возможно. Прямой ввод-вывод в Linux сильно варьируется и зависит от базовой файловой системы.

1-байтовая прямая запись ввода-вывода в файловую систему с размером блока 4k может завершиться полным сбоем, может потребоваться возврат к использованию кэша страниц или она может перейти через прямой ввод-вывод прямо в файл.

И если это не приведет к сбою, вы не сможете легко определить.