6

我的项目涉及通过远程主机模拟块设备。

为了测试我正在使用 FUSE,我的文件系统是对“hello”示例应用程序的简单更改,在该示例应用程序中,我没有返回常量字符串,而是直接从文件中读取数据。

当我尝试正常挂载文件时(mount -o loop=/dev/loop1),它运行良好。当我加载 fuse 并通过它公开这个文件时,所有正常的文件操作都会工作。但是安装失败并显示“权限被拒绝”。

任何人都知道“权限被拒绝”来自哪里?

任何其他方法都可以让我在用户空间中创建一个可挂载的虚拟设备(仅支持块访问)?

提前致谢

4

3 回答 3

4

据推测,问题在于 FUSE 文件系统不支持在其上进行循环挂载所需的功能。

您是否考虑过使用网络块设备,例如 NBD 或 iSCSI 目标?

于 2009-10-27T15:14:03.983 回答
2

您是否以 Root 权限执行。您可以使用“strace”跟踪程序,然后检查失败的确切位置。

于 2009-10-27T15:19:30.823 回答
1

当它开始打印错误时,mount 命令是一个真正的地狱。尝试“-v”,但更多时候,额外的输出无济于事:(

于 2009-10-27T14:46:59.063 回答