【发布时间】:2023-04-07 20:43:01
【问题描述】:
我有一个 linux char 设备驱动程序,在日志中我可以看到在驱动程序中调用了刷新函数,尽管我们从未在应用程序中显式调用刷新。
何时调用刷新调用而不是释放调用。在哪些情况下会自动触发刷新调用?
从文档中我们可以理解
当进程关闭设备的文件描述符副本时,会调用刷新操作;它应该在设备上执行(并等待)任何未完成的操作。这不能与用户程序请求的 fsync 操作相混淆。目前,flush 仅在网络文件系统 (NFS) 代码中使用。如果 flush 为 NULL,则根本不会调用它。
但想深入了解。 我们使用linux 2.6.10
【问题讨论】:
标签: linux linux-device-driver kernel-module