Tôi đang cố triển khai hệ thống tệp FUSE. Tôi nhận được lỗi này:Lỗi cầu chì: Điểm cuối giao thông không được kết nối
cannot access MountDir: Transport endpoint is not connected
Đây là các phần liên quan của chương trình. Có hai thư mục, MirrorDir
và MountDir
, có cùng thư mục với tất cả mã. Tôi đang gọi chương trình như thế này:
./myFS -o nonempty -o allow_other MirrorDir MountDir
Có ai có thể nhìn thấy những gì tôi đang làm sai không?
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;
}
Tôi phải sudo umount để làm cho nó hoạt động. fusermount đã cho tôi: mục nhập cho không tìm thấy trong/etc/mtab –
'fusermount -u' không hoạt động trong trường hợp của tôi, vì vậy tôi đã thử' sudo umount -l' nhưng tôi nhận được thông báo lỗi này: 'umount: MOUNT_DIR: chặn thiết bị không được phép trên fs' Bất kỳ ý tưởng? –
Tương tự, đó là gợi ý thứ hai làm việc cho tôi. – otocan