在完全关闭期间,在sync之后运行umount是否有意义?我假设umount会将任何缓存的数据写入磁盘。
我能想到的唯一奇怪的情况是,在真正的磁盘顶部有一些循环设备(比如LUKS容器)。
U装入可能会尝试先卸载分区。在卸载循环设备之前,它可能无法卸载分区。但在这种情况下,它会同步数据吗?
发布于 2017-10-20 20:53:19
sync只影响文件系统,而不影响阻塞设备。
但是,我无法回答的一个有趣的问题(与卸载无关)是:sync按照什么顺序对待文件系统?如果它首先刷新根文件系统的缓存,然后刷新循环设备文件系统的缓存,那么第二次刷新将为根文件系统创建新的缓存数据,这样就永远不会有什么事情是完全干净的。但是内核可能在返回sync() syscall之前等待所有文件系统缓存都是干净的。
但是,如果您不信任内核,您可以使用文件参数调用sync,并按正确的顺序多次调用它.
发布于 2018-08-26 16:46:30
不,在(成功的) sync之后运行umount没有任何意义。
umount已经同步了对文件系统的任何挂起的写入。sync命令同步挂起的文件系统的缓存文件系统数据。
现在由LUKS配置的dm-crypt设备正确地通过刷新命令(cf )。密码设置FAQ项目2.13如果我使用dm/LUKS映射日志文件系统,它是否仍然提供其通常的事务性保证?)。
https://unix.stackexchange.com/questions/398661
复制相似问题