Ошибка FUSE: конечная точка транспорта не подключена

Я пытаюсь реализовать файловую систему 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;
}

Ответы на вопрос(4)

Ваш ответ на вопрос