linux - msync 是否像 ext3 上的 fsync 一样将文件系统上的所有文件同步到磁盘?

标签 linux ext3 fsync

据我所知,在大多数日志模式为“data=ordered”的ext3系统上,fsync不仅会同步fd指定的文件,还会同步文件系统上的所有文件,而且这个问题还没有被修复内核 2.6.30 之前

我有一个问题,就是 msync 和 fsync 做的事情一样吗?

谢谢。

最佳答案

这不是错误,这是一个功能。 Ext3 是一种日志文件系统。 data=ordered 表示您要求对文件系统的更改按照更改的顺序写入。

因此,当您要求将更改同步到特定文件时,您必须提交所有先前的更改,无论是对该文件还是其他文件,否则您将破坏保持数据有序的指令。出于这个原因,我怀疑 msync 会以相同的方式运行,尽管我没有检查过。

事实上,有人可以争辩说,如果不是这样,那就是文件系统错误...

关于linux - msync 是否像 ext3 上的 fsync 一样将文件系统上的所有文件同步到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7709150/

相关文章:

linux - 在 X 秒内强制不超过一次写入/同步到磁盘

linux - 如何在 Linux 上对 LCD(Windows 上的 cleartype)字体进行亚像素渲染?

c - Linux 帧缓冲驱动程序和自定义文件操作

Linux API : is it possible to specify `O_SYNC` option for a single `write` syscall

c++ - 如何从虚拟磁盘中提取文件?

linux - ntfs 但不是 ext3 的数据完整性问题

c - 在调用 fstat 之前调用 fsync 的任何原因

linux - 如何激活 phyless linux 以太网驱动程序

用于访问驱动器低级细节的 python 库(SMART、scsi generic、ata security 等)

Linux 文件系统基准测试最佳实践