提问人:AndroidDev 提问时间:4/15/2013 最后编辑:Eric LeschinskiAndroidDev 更新时间:10/29/2023 访问量:131569
FUSE 错误:传输终结点未连接
FUSE error: Transport endpoint is not connected
问:
我正在尝试实现 FUSE 文件系统。我收到以下错误:
无法访问 MountDir:传输终结点未连接
这是程序的相关部分。有两个目录 和 ,它们与所有代码位于同一目录中。我是这样称呼该程序的:MirrorDir
MountDir
./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;
}
答:
这通常是由于文件系统崩溃导致挂载目录处于挂载状态所致。转到挂载点的父目录,然后输入 。fusermount -u YOUR_MNT_DIR
如果这不能解决问题,请执行 .sudo umount -l YOUR_MNT_DIR
评论
fusermount -u
在我的情况下不起作用,所以我尝试了,但我收到以下错误消息:任何想法?sudo umount -l
umount: MOUNT_DIR: block devices not permitted on fs
sudo umount -l YOUR_MNT_DIR
su -
fusermount -uz YOUR_MNT_DIR
z
)
我挂载了一个 ssh 文件系统(sshfs 命令行)并让它挂载,我遇到了同样的问题,解决了我的问题。fusermount -u YOUR_MNT_DIR
您可以检查 /etc/hosts 以验证主节点是否具有完全限定名称。有关 https://community.cloudera.com/t5/CDH-Manual-Installation/Setting-the-NameNode-port-8020-to-listen-outside-of-localhost/td-p/2257 和如何为 Hadoop 生态系统配置主机文件的更多详细信息
在 Azure 中,我尝试使用用户托管标识装载容器。我一直在获取权限,直到将权限添加到托管标识。Transport endpoint is not connected
Storage Blob Data Contributor
当我用于将 Microsoft OneDrive 挂载到 Ubuntu 系统时,我遇到了这个问题,例如“传输终结点未连接”或“权限被拒绝”。我是系统的普通用户,所以默认情况下,我的主目录只能由我访问。当我创建挂载点目录时,它也只有我才能访问。rclone
我终于弄清楚这些错误消息与文件访问权限模式有关。由于我是普通用户,但以 root 身份运行,因此它在挂载时无法访问挂载点目录,并且在卸载时无法访问我的主目录,因此它投诉。解决方案非常简单:通过将 mountpoint 目录和 home 目录的文件访问权限设置为 777,向所有人开放。fusermount
每次我尝试读取时,Windows 框中带有不可读字符的文件都会在外部 USB 驱动器上临时给我这个错误。我可以卸载并重新挂载驱动器以唤醒东西,但是访问该文件(甚至包含它的目录)会重新破坏事情。endpoint not connected
我将驱动器连接到另一台计算机,并重命名了要解析的文件。
详
我花了几个深夜懒洋洋地浏览维基百科,并将更好的图片下载到我的 Microsoft Surface (Win10);有些有亚洲和西里尔字符。
不是我的形象,但或多或少是这样的:
今天,我曾经将目录推送到我的 Linux Mint 盒子中,但在几个文件上出现了错误。我没有明确地逐字回忆,但这非常接近,如果不是一样的话:https://superuser.com/questions/769385/pscp-and-utf-8-characterspscp -r -p
pscp
"user@remote_host:/Справочник/file.txt" "E:\Справочник\file.txt"
scp: E:/??????????/file.txt: Cannot create file
回到我的 Linux 盒子,尝试访问该目录时出现了错误。然后整个驱动器变得无法使用 - 无论是在 thunar 文件管理器中还是在 CLI 中,都出现了诸如“无法获取工作目录”之类的错误以及我们预期的文件系统损坏的其他问题。Transport endpoint is not connected
这个命令让我无处可去,但工作了好几次。fusermount
sudo umount -l
每次我卸载并重新挂载此驱动器(格式化为 exFAT)时,一切都恢复正常(读/写/删除按预期工作)——直到我尝试读取/重命名/删除带有不可读 (UTF-8?) 字符的目录,此时整个驱动器再次变得无法访问。
我将驱动器连接到 WinBox 并重命名了文件 - 一切都更好。
我可能会添加字符集支持,但这是 20 年来我第一次遇到这种情况,所以我怀疑我会打扰。
乔纳森·布朗(Jonathan Brown)的回答帮助我诊断了这一点,并得出结论,将驱动器带到楼上的简单解决方案可能是解决方法。
评论