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

Примечание. Я прочитал ошибку FUSE: конечная точка транспорта не подключена, но это не помогает.

Я работаю с FUSE API: https://github.com/libfuse/libfuse

Я создал небольшой проект для тестирования библиотеки. main выглядит так:

(...)
    struct fuse_operations operations;
    operations.open = htsfuse_open;
    operations.read = htsfuse_read;
    operations.release = htsfuse_release;
    operations.readdir = htsfuse_readdir;
    operations.getattr = htsfuse_getattr;

    int ret= fuse_main( argc-1, &argv[1], &operations,NULL );
(...)

моя программа запускается с помощью:

sudo fusermount -u tmp_fuse && rm -rf tmp_fuse
mkdir -p tmp_fuse
./htsfuse config.xml ${PWD}/tmp_fuse
ls tmp_fuse
ls: cannot access 'tmp_fuse': Transport endpoint is not connected

я тоже пытался

 sudo umount -l ./tmp_fuse

с/без фьюзермаунта, но у меня такая же проблема.

После запуска моего приложения последняя строка /etc/mtab

test.xml /path/to/tmp_fuse fuse.test.xml rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0

Спасибо за помощь.

P.


person Pierre    schedule 10.10.2018    source источник


Ответы (1)


понял, что простого мемсета не хватало :-)

struct fuse_operations operations;
memset((void*)&operations,0,sizeof(struct fuse_operations));
operations.open = htsfuse_open;
operations.read = htsfuse_read;
person Pierre    schedule 11.10.2018
comment
struct fuse_operations operations = {0}; делает то же самое, но проще для глаз. - person Lundin; 11.10.2018