我有一个关于 dm-crypt 的问题。
这是我的情况。我在 Linux 中使用 cryptsetup 命令映射了一个加密分区(在虚拟设备中加密)。我正在使用 open() 函数在 c 程序中打开映射的虚拟设备。
我可以确定当我使用 fsync() 函数时,所有信息都将写入加密分区,还是 dm-crypt 驱动程序中有一些缓冲区?
我有一个关于 dm-crypt 的问题。
这是我的情况。我在 Linux 中使用 cryptsetup 命令映射了一个加密分区(在虚拟设备中加密)。我正在使用 open() 函数在 c 程序中打开映射的虚拟设备。
我可以确定当我使用 fsync() 函数时,所有信息都将写入加密分区,还是 dm-crypt 驱动程序中有一些缓冲区?
我找不到太多关于此的参考。也许有人可以对此进行更多说明,因为我没有深入了解源代码,但似乎 async
写入磁盘。
一点是trim-with-lvm-and-dm-crypt的问题,其中 a可靠地sync
更改了磁盘内容,但缓存的内容仅在 a 之后更新echo 1 > /proc/sys/vm/drop_caches
。
另一个是挂起的设备上挂起的问题,sync
这表明同步直接进入设备。
第三个是这个Gentoo讨论在.luksClose
sync
第四个是这个 UL 答案,上面写着
其余的东西 [dm-crypt] 在内核中并且被大量使用,所以它可能没问题
可能仍然是所有这些都是错误的,并且可能会发生sync
不直接写入加密磁盘的情况,但似乎不太可能。