小编use*_*033的帖子

为什么FUSE readdir返回输入/输出错误?

readdir()在保险丝中实现功能时遇到了一个奇怪的问题.基本上当我ls在保险丝中的任何目录上执行时,我收到一个错误,例如:

#ls
ls:读取目录.:输入/输出错误
file1.c file2.c

但奇怪的是,readdir()它正在做它应该做的事情.在某个意义上,在该特定目录中,我有两个名为的文件file1.c,file2.c并且能够正确读取它.

在调试问题时,我注意到fuse filler函数(fuse_fill_dir_t作为参数传递readdir())可能导致此错误.

这是因为如果我只是使用调试打印目录printf的内容而不使用填充函数返回内容,我没有看到错误.

但是一旦我开始使用填充函数返回内容,我就开始看到这个错误.

我有两个与此相关的问题:

1)任何人都知道为什么filler函数可能导致这个问题?

2)如何查找fuse_fill_dir_t函数代码的定义?我已经通过这种论证查看了大部分保险丝功能但直到现在都没有运气.

任何帮助表示赞赏!

干杯,Vinay

filesystems fuse

5
推荐指数
1
解决办法
5526
查看次数

标签 统计

filesystems ×1

fuse ×1