FUSE getattr函数在lstat上挂起

时间:2015-03-27 03:52:16

标签: c linux filesystems fuse stat

我正在实现一个FUSE文件系统,并且第一步只实现了getattr函数。代码如下所示:

int test_getattr(const char *path, struct stat *statbuf){
    return lstat(path, statbuf);
}

当我提供除安装FUSE的目录之外的任何目录时,代码工作正常。例如,上述代码适用于/home/home/ubuntu/mnt/,但当路径为lstat/home/ubuntu/mnt/fuse/挂起,其中/home/ubuntu/mnt/fuse/是传递给fuse_main的路径。代码只挂在lstat

1 个答案:

答案 0 :(得分:1)

您的getattr实施停留在无限循环上,因为带有FUSE路径的lstat会一次又一次地调用test_getattr

如果您的实现是另一个文件系统的包装器,那么您需要lstat其他文件系统的实际路径。