Man-страница для open(2) только предполагает, что O_DIRECT обходит кеш страниц, но во многих описаниях в сети это описывается как вызывающее прямой доступ к памяти пользовательского буфера к диску. Если это так, я полагаю, что это также позволит обойти журналирование, выполняемое файловой системой (например, xfs, ext4 и т. д.). Так ли это?
Я не могу найти никого, кто утверждает так или иначе. Мне кажется, что это согласуется с тем, что O_DIRECT используется базами данных — общий пример использования O_DIRECT — это когда приложение, такое как база данных, выполняет собственное кэширование в пользовательском пространстве, и аналогичным образом я могу представить базы данных, ведущие свои собственные журналы транзакций.