Tom*_*ale 5 linux mount unmounting readonly
我正在研究一种安全且无竞争条件的umount -l可移动设备替代方案:
我打算:
umount --move在000权限目录下,因此绝对路径无法打开更多文件umount成功了步骤 (3) 中存在竞争条件,其中可以rw在最后一次交互式 kill 之后和mount -o remount,ro.
mount -o remount,ro如果文件系统上有任何文件打开用于写入,是否保证失败?
手册页对此保持沉默,在发现设备即使在blockdev --setro.
是的。相关代码在sb_prepare_remount_readonly(从 Linux 4.0 开始,代码在其他版本上的组织方式可能有所不同)。逻辑是:
MNT_WRITE_HOLD)。EBUSY)。注册作家打开文件编写以及日常运营的写元数据(mkdir,chmod等)。检查mnt_want_write对注册写入器计数增加的调用。
系统的设计确保只读重新挂载是写注册障碍:如果它成功,则没有注册写入器,特别是在重新挂载操作时不能打开任何文件进行写入。重新挂载后,没有文件可以打开写,所以仍然没有文件可以写。