FUSE错误:未连接传输端点

时间:2013-04-14 18:10:23

标签: linux mount fuse

我正在尝试实现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;
}

5 个答案:

答案 0 :(得分:92)

这通常是由于文件系统崩溃导致挂载的挂载目录引起的。转到挂载点的父目录,然后输入fusermount -u YOUR_MNT_DIR

如果这不起作用,请执行sudo umount -l YOUR_MNT_DIR

答案 1 :(得分:11)

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

答案 2 :(得分:0)

答案 3 :(得分:0)

转到父目录并重新登录。为我工作。

答案 4 :(得分:0)

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