【问题标题】:FUSE: Transport endpoint is not connectedFUSE:传输端点未连接
【发布时间】:2019-03-15 09:20:16
【问题描述】:

注意:我阅读了FUSE error: Transport endpoint is not connected,但没有帮助。

我正在使用 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

有/没有 fusermount 但我遇到了同样的问题。

我的应用启动后,/etc/mtab的最后一行是

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

感谢您的帮助。

P.

【问题讨论】:

    标签: c endpoint fuse


    【解决方案1】:

    知道了,缺少一个简单的 memset :-)

    struct fuse_operations operations;
    memset((void*)&operations,0,sizeof(struct fuse_operations));
    operations.open = htsfuse_open;
    operations.read = htsfuse_read;
    

    【讨论】:

    • struct fuse_operations operations = {0}; 做同样的事情,但更容易看到。
    猜你喜欢
    • 2013-04-06
    • 2020-08-20
    • 2012-12-10
    • 2018-11-06
    • 2012-12-30
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多