我正在尝试实现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;
}
6条答案
按热度按时间fafcakar1#
这通常是由于文件系统崩溃导致挂载目录处于挂载状态所造成的。请转到挂载点的父目录并输入
fusermount -u YOUR_MNT_DIR
。如果这还不行,就执行
sudo umount -l YOUR_MNT_DIR
。brqmpdu12#
我挂载了一个ssh文件系统(sshfs命令行),并让它挂载,我有同样的问题,
fusermount -u YOUR_MNT_DIR
解决了我的问题。谢谢svdrlsy43#
在Azure中,我尝试使用用户托管标识挂载我的容器。我一直获得
Transport endpoint is not connected
,直到Storage Blob Data Contributor
权限被添加到托管标识。2admgd594#
您可以检查/etc/hosts以验证主节点是否具有完全限定的名称。有关详细信息,请参见https://community.cloudera.com/t5/CDH-Manual-Installation/Setting-the-NameNode-port-8020-to-listen-outside-of-localhost/td-p/2257和How to configure hosts file for Hadoop ecosystem
dluptydi5#
当我使用
rclone
将Microsoft OneDrive挂载到Ubuntu系统时,我遇到了类似“传输端点未连接”或“权限被拒绝”的问题。我是系统的普通用户,因此默认情况下,只有我可以访问我的主目录。它也只有我可以访问。rclone论坛的版主只是误导我到错误的方向,最后粗鲁地关闭了我的问题时,他意识到他无法回答,所以我自己解决了这个问题,经过几天的调查,我终于发现这些错误信息与文件访问权限模式有关,因为我是普通用户,而fusermount
是以root身份运行的,所以挂载时无法访问挂载点目录,卸载时无法访问我的主目录,所以它抱怨了,解决方法很简单:通过将安装点目录和主目录的模式位设置为777,向所有人开放它们的文件访问权限。k97glaaz6#
这也许能帮到某人。
每次我尝试读取一个带有无法读取字符的**文件(来自Windows框)时,***临时 * 都会在外部USB驱动器上出现
endpoint not connected
错误。我可以卸载并重新安装驱动器以唤醒系统,但访问该文件(甚至包含该文件的目录)会重新中断系统。我将驱动器连接到另一台计算机并重命名文件以进行解析。
详情
我在深夜花了几个小时懒洋洋地浏览维基百科,把更好的图片下载到我的微软表面(Win10)上;有些是亚洲和西里尔字母。
不是我的形象,但或多或少是这样的:
今天我使用
pscp -r -p
将目录推送到Linux Mint机器中--但是pscp
在几个文件上抛出了错误。我不能明确地逐字回忆,但是这非常接近,如果不是相同的话:https://superuser.com/questions/769385/pscp-and-utf-8-characters回到我的Linux系统,尝试访问目录时出现
Transport endpoint is not connected
错误,然后整个驱动器变得不可用--无论是在thunar文件管理器还是在CLI中,出现“cannot get working directory”之类的错误,以及我们在文件系统损坏时可能遇到的其他问题。fusermount
命令让我毫无进展,但是sudo umount -l
工作了好几次。每次我卸载并重新安装此驱动器(格式化为exFAT)时,一切都恢复正常(读/写/删除按预期工作)--*直到 * 我尝试使用不可读(UTF-8?)字符读取/重命名/删除目录,此时整个驱动器再次变得无法访问。
我把驱动器连接到WinBox上,重命名了文件--一切都好多了。
我也许可以添加一个字符集支持,但这是20年来我第一次遇到这种情况,所以我怀疑我是否会费心。
乔纳森·布朗的回答帮助我诊断了这个问题,并得出结论,把驱动器搬到楼上的简单解决方案可能是解决办法。
谢谢乔纳森!