FUSE错误:传输端点未连接 [英] FUSE error: Transport endpoint is not connected
问题描述
我正在尝试实现FUSE文件系统.我收到此错误:
I'm trying to implement the FUSE filesystem. I am receiving this error:
无法访问MountDir:传输端点未连接
cannot access MountDir: Transport endpoint is not connected
这是程序的相关部分.有两个目录MirrorDir
和MountDir
,它们与所有代码都位于同一个目录中.我正在这样调用程序:
This the relevant parts of the program. There are two directories, MirrorDir
and MountDir
, that exist withing the same directory as all of the code. I am calling the program like this:
./myFS -o nonempty -o allow_other MirrorDir MountDir
有人可以看到我在做什么错吗?
Can anyone see what I am doing wrong?
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
.
This typically is caused by the mount directory being left mounted due to a crash of your filesystem. Go to the parent directory of the mount point and enter fusermount -u YOUR_MNT_DIR
.
如果这不能解决问题,请执行sudo umount -l YOUR_MNT_DIR
.
If this doesn't do the trick, do sudo umount -l YOUR_MNT_DIR
.
这篇关于FUSE错误:传输端点未连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!