2

我有一个关于 dm-crypt 的问题。

这是我的情况。我在 Linux 中使用 cryptsetup 命令映射了一个加密分区(在虚拟设备中加密)。我正在使用 open() 函数在 c 程序中打开映射的虚拟设备。

我可以确定当我使用 fsync() 函数时,所有信息都将写入加密分区,还是 dm-crypt 驱动程序中有一些缓冲区?

4

1 回答 1

1

我找不到太多关于此的参考。也许有人可以对此进行更多说明,因为我没有深入了解源代码,但似乎 async写入磁盘。

一点是trim-with-lvm-and-dm-crypt的问题,其中 a可靠地sync更改了磁盘内容,但缓存的内容仅在 a 之后更新echo 1 > /proc/sys/vm/drop_caches

另一个是挂起的设备上挂起的问题sync这表明同步直接进入设备。

第三个是这个Gentoo讨论在.luksClosesync

第四个是这个 UL 答案,上面写着

其余的东西 [dm-crypt] 在内核中并且被大量使用,所以它可能没问题

可能仍然是所有这些都是错误的,并且可能会发生sync不直接写入加密磁盘的情况,但似乎不太可能。

于 2015-08-26T16:29:55.477 回答