gpt4 book ai didi

Python Fuse 连续调用 'readlink' 6 次

转载 作者:太空狗 更新时间:2023-10-29 11:11:24 24 4
gpt4 key购买 nike

我正在使用 Python Fuse 实现一个文件系统。目录仅包含 symlinks,因此我返回 S_IFLNK | 0777 关于 getattr 方法。

现在,当我在目录上执行 ls 时,我注意到 Linux 为 每个 条目连续调用 readlink 方法 6 次在目录中。

这是我这边的错误还是正常行为?

最佳答案

嗯,绝对不是 ls 多次调用 readlink。除非你用不寻常的标志调用它?

$ls
entropy share
$ls -l
total 0
lrwxrwxrwx 1 entropy users 14 Aug 8 14:26 entropy -> /home/entropy/
lrwxrwxrwx 1 entropy users 11 Aug 8 14:18 share -> /usr/share/
$ltrace ls 2>&1 | grep readlink
$ltrace ls -l 2>&1 | grep readlink
readlink(0xbfdbb6c0, 0x9549b90, 15, 0, 0xb75ceec8) = 14
readlink(0xbfdbb6c0, 0x954a148, 12, 0xbfdbb992, 0) = 11
$

从这里的外观来看,没有标志的 ls 从不调用 readlink,如果给出长标志,则每个链接只会调用一次。我对 fuse 了解不多,更不用说 python fuse 了。所以不幸的是,我无法回答你最初的问题,只能说这看起来很像你这边的错误行为,但我可能是错的。

关于Python Fuse 连续调用 'readlink' 6 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3396503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com