重新挂载 SSHFS 挂载而不卸载它

重新挂载 SSHFS 挂载而不卸载它

相当于什么mount -o remount,rosshfs坐骑?

我知道的唯一方法是执行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

所以答案可能是:标准方式是不可能的。熔丝文件系统可以通过公开获得等效功能的方法来支持类似的功能。

相关内容