【问题标题】:FUSE getattr function hangs on lstatFUSE getattr 函数在 lstat 上挂起
【发布时间】:2015-05-31 07:50:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: c linux filesystems fuse stat


    【解决方案1】:

    您的 getattr 实现陷入了无限循环,因为带有 FUSE 路径的 lstat 一次又一次地调用 test_getattr

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

    【讨论】:

      猜你喜欢
      • 2012-06-05
      • 2016-11-12
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 2019-11-02
      • 2020-01-08
      • 1970-01-01
      相关资源
      最近更新 更多