FUSE 错误:传输终结点未连接

FUSE error: Transport endpoint is not connected

提问人:AndroidDev 提问时间:4/15/2013 最后编辑:Eric LeschinskiAndroidDev 更新时间:10/29/2023 访问量:131569

问:

我正在尝试实现 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;
}
Linux 挂载 保险丝

评论


答:

173赞 Jonathan Brown 11/12/2013 #1

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

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

评论

5赞 Christian Bongiorno 6/12/2016
我必须 sudo umount 才能让它工作。Fusermount给了我:在/etc/MTAB中找不到<mount>条目
1赞 feedc0de 9/21/2017
fusermount -u在我的情况下不起作用,所以我尝试了,但我收到以下错误消息:任何想法?sudo umount -lumount: MOUNT_DIR: block devices not permitted on fs
2赞 otocan 2/22/2018
同样,这是第二个对我有用的建议。
2赞 Joyoyoyoyoyo 11/12/2018
同样。 为我工作。我正在使用 root 用户,我继续使用它.非常感谢:)sudo umount -l YOUR_MNT_DIRsu -
3赞 farkas 7/23/2020
对我来说只工作(注意额外的fusermount -uz YOUR_MNT_DIRz)
24赞 user2997418 4/1/2015 #2

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

0赞 Thiago Mata 9/9/2016 #3

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

1赞 hpaknia 2/24/2021 #4

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

0赞 zzzhhh 11/14/2021 #5

当我用于将 Microsoft OneDrive 挂载到 Ubuntu 系统时,我遇到了这个问题,例如“传输终结点未连接”或“权限被拒绝”。我是系统的普通用户,所以默认情况下,我的主目录只能由我访问。当我创建挂载点目录时,它也只有我才能访问。rclone

我终于弄清楚这些错误消息与文件访问权限模式有关。由于我是普通用户,但以 root 身份运行,因此它在挂载时无法访问挂载点目录,并且在卸载时无法访问我的主目录,因此它投诉。解决方案非常简单:通过将 mountpoint 目录和 home 目录的文件访问权限设置为 777,向所有人开放。fusermount

0赞 zedmelon 1/30/2023 #6

每次我尝试读取时,Windows 框中带有不可读字符的文件都会在外部 USB 驱动器上临时给我这个错误。我可以卸载并重新挂载驱动器以唤醒东西,但是访问该文件(甚至包含它的目录)会重新破坏事情。endpoint not connected

我将驱动器连接到另一台计算机,并重命名了要解析的文件。


我花了几个深夜懒洋洋地浏览维基百科,并将更好的图片下载到我的 Microsoft Surface (Win10);有些有亚洲和西里尔字符。

不是我的形象,但或多或少是这样的:

Asian and Cyrillic filename characters

今天,我曾经将目录推送到我的 Linux Mint 盒子中,但在几个文件上出现了错误。我没有明确地逐字回忆,但这非常接近,如果不是一样的话:https://superuser.com/questions/769385/pscp-and-utf-8-characterspscp -r -ppscp

"user@remote_host:/Справочник/file.txt" "E:\Справочник\file.txt"
scp: E:/??????????/file.txt: Cannot create file

回到我的 Linux 盒子,尝试访问该目录时出现了错误。然后整个驱动器变得无法使用 - 无论是在 thunar 文件管理器中还是在 CLI 中,都出现了诸如“无法获取工作目录”之类的错误以及我们预期的文件系统损坏的其他问题。Transport endpoint is not connected

这个命令让我无处可去,但工作了好几次。fusermountsudo umount -l

每次我卸载并重新挂载此驱动器(格式化为 exFAT)时,一切都恢复正常(读/写/删除按预期工作)——直到我尝试读取/重命名/删除带有不可读 (UTF-8?) 字符的目录,此时整个驱动器再次变得无法访问。

我将驱动器连接到 WinBox 并重命名了文件 - 一切都更好。

我可能会添加字符集支持,但这是 20 年来我第一次遇到这种情况,所以我怀疑我会打扰。

乔纳森·布朗(Jonathan Brown)的回答帮助我诊断了这一点,并得出结论,将驱动器带到楼上的简单解决方案可能是解决方法。