有没有办法强制Linux内核忽略O_DIRECT?

有没有办法强制Linux内核忽略O_DIRECT?

不详细讨论为什么我想这样做...有什么方法可以强制现代 Linux 内核O_DIRECT在打开文件时忽略该标志?基本上,我希望O_DIRECT将其视为无操作,其中应用程序可以自由指定它,但内核只是将其视为未指定。

我在 Stack Exchange 和其他地方看到了提出类似问题的各种其他问题,但我无法找到有关此确切要求的任何信息。sysctl我可以设置任何东西来产生这种效果吗?

答案1

不,没有任何 sysctl 或类似的东西。

您应该使用 LD_PRELOAD hack 来覆盖 openat() 函数。

相关内容