如果我在或文件系统stat -f .
上运行,它会显示“类型:fuseblk”。这个不对。与 不同,这些文件系统不是使用块设备实现的。如果我运行,它会显示他们的类型为 just 。bindfs
sshfs
ntfs-3g
findmnt
fuse
可以修复吗?
答案1
我猜这个错误已经来不及修复了。 (也就是说,它现在实际上也是一个功能:-)。
CurrentS_MAGIC_FUSEBLK
被定义为代表我认为内核内部调用的内容保险丝超级魔法。 (谷歌建议它可能在“fs.h”中定义?但我找不到“fs.h”核心工具)。
stat -f .
打印S_MAGIC_FUSEBLK
为“Type:fuseblk”,这听起来很合理。问题是非块 FUSE 文件系统也返回了完全相同的魔力。这是 Linux 系统调用返回的字段之一statfs()
。我怀疑原作者只测试了基于块的 FUSE 文件系统,例如ntfs-3g
.
我在网上搜索了有关此内容的信息,只在原始补丁上找到了一个线程。方便的是,同一线程解释了向后兼容性问题,作为不更新另一种文件系统类型的描述的原因。如果这是正确的,那么听起来这两个描述已经存在太久了,改变它们的风险太大了。
https://lists.gnu.org/archive/html/bug-coreutils/2009-12/msg00229.html