gpt4 book ai didi

database - Solaris - 同步磁盘刷新/同步同步?

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:16 25 4
gpt4 key购买 nike

在 Solaris 上执行同步磁盘刷新的最佳方法是什么?我想刷新所有磁盘,而不是单个文件。

Solaris(与 Linux 相反)上的 Sync() 异步工作,我正在寻找 SYNCHRONOUS sync()(它在完成时返回)

后续问题:如何检查同步是否正确完成?我如何编写测试以显示它已完成?

谢谢!

最佳答案

你可以运行:

/usr/sbin/lockfs -af

引用 lockfs manual page :

-f

     Force a synchronous flush of all data that is  dirty  at
the time fsflush is run to its backing store for the
named file system (or for all file systems.)

It is a more reliable method than using sync(1M) because
it does not return until all possible data has been
pushed.

如果你想纯粹用 C 来做,你可以使用

  #include <sys/filio.h>
...
ioctl(fd, _FIOFFS, NULL);

fd 是文件系统挂载点的文件描述符(来自/etc/mtab)。

请注意 _FIOFFS 是私有(private)接口(interface),因此可能会随时消失,恕不另行通知。一种完全受支持且更可靠的方法是简单地将行 system("/usr/sbin/lockfs -af"); 添加到您的代码中。

关于database - Solaris - 同步磁盘刷新/同步同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com