70

我正在尝试实现 FUSE 文件系统。我收到此错误:

无法访问 MountDir:传输端点未连接

这是程序的相关部分。有两个目录MirrorDirMountDir,它们与所有代码位于同一目录中。我这样调用程序:

./myFS -o nonempty -o allow_other MirrorDir MountDir

谁能看到我做错了什么?

static struct fuse_operations xmp_oper = {
    .getattr    = xmp_getattr,
    .readdir    = xmp_readdir,
    .open       = xmp_open,
    .read       = xmp_read,
};

int main(int argc, char *argv[]) {
    int fuse_stat;
    char* mirrorDir;

    mirrorDir = malloc(sizeof(strlen(argv[argc-2]+1)));
    if (mirrorDir == NULL) {
        perror("main calloc");
        abort();
    }

    // Pull the rootdir out of the argument list and save it in my internal data
    mirrorDir = realpath(argv[argc-2], NULL);

    argv[argc-2] = argv[argc-1];
    argv[argc-1] = NULL;
    argc--;

    // turn over control to fuse
    fprintf(stderr, "about to call fuse_main\n");   
    fuse_stat = fuse_main(argc, argv, &xmp_oper, mirrorDir);
    fprintf(stderr, "fuse_main returned %d\n", fuse_stat);
    return fuse_stat;
}
4

5 回答 5

146

这通常是由于文件系统崩溃而导致挂载目录挂载所致。转到挂载点的父目录并输入fusermount -u YOUR_MNT_DIR.

如果这不能解决问题,请执行sudo umount -l YOUR_MNT_DIR.

于 2013-11-12T02:54:06.397 回答
22

我挂载了一个 ssh 文件系统(sshfs 命令行)并将其挂载,我遇到了同样的问题,fusermount -u YOUR_MNT_DIR解决了我的问题。谢谢

于 2015-04-01T08:02:04.447 回答
1

在 Azure 中,我尝试使用用户管理的身份装载我的容器。在将权限添加到托管标识Transport endpoint is not connected之前,我一直在获取。Storage Blob Data Contributor

于 2021-02-23T21:50:19.200 回答
0

您可以检查您的 /etc/hosts 以验证主节点是否具有完全限定名称。https://community.cloudera.com/t5/CDH-Manual-Installation/Setting-the-NameNode-port-8020-to-listen-outside-of-localhost/td-p/2257How to中的更多详细信息为 Hadoop 生态系统配置 hosts 文件

于 2016-09-09T00:55:05.493 回答
0

rclone当我使用将 Microsoft OneDrive 挂载到 Ubuntu 系统时,我遇到了类似“传输端点未连接”或“权限被拒绝”的问题。我是系统的普通用户,所以默认情况下我的主目录只能由我访问。当我创建挂载点目录时,它也只有我可以访问。rclone论坛版主只是误导了我的方向,当他意识到他无法回答时,最终粗鲁地关闭了我的问题,所以我必须自己解决问题。经过几天的调查,我终于弄清楚这些错误消息与文件访问权限模式有关。由于我是普通用户,但是fusermount以root身份运行,它在挂载时无法访问挂载点目录,并且在卸载时无法访问我的主目录,所以它抱怨。解决方法很简单:将挂载点目录和主目录的文件访问权限都开放给每个人,将他们的模式位设置为777。

于 2021-11-14T11:46:29.347 回答