相当于什么mount -o remount,ro
在sshfs
坐骑?
我知道的唯一方法是执行fusermount -u
然后再次安装它sshfs -o ro
。
答案1
FUSE 没有对该remount
选项的任何通用支持。 2006 年,FUSE 2.6 被描述为如果不修补 FUSE 本身,基于 FUSE 的文件系统就不可能做到这一点(保险丝开发线程“重新安装在保险丝支架中”)。从那以后似乎没有任何进展。
在 SSHFS 中存在重新安装支持的请求(例如Ubuntu 错误 #1037500)以及网络上的其他 FUSE 文件系统,但我能找到的都没有满足。
答案2
感谢您对 FUSE 的一般性回答。我正在搜索这些信息以进行我自己的保险丝文件系统开发。
我想下一个最佳答案是熔丝文件系统本身支持该功能。文件系统将继续接收“与写入相关的”内核请求,并且必须以适当的错误代码进行响应,例如:EROFS 表示“创建”。
从用户的角度来看,这与文件系统是只读的完全一样,但在查看挂载时略有不同。
该功能可能会因错误而“自动”触发。棘手的部分是,如果用户想要触发它,因为重新挂载不是一个选项,或者更糟糕的是,FUSE 会告诉挂载点非空。然后,文件系统必须公开一种非标准方法来转换为“fake-readonly”,例如touch /mountpoint/.read_only
所以答案可能是:标准方式是不可能的。熔丝文件系统可以通过公开获得等效功能的方法来支持类似的功能。