bindfs
またはsshfs
ファイルシステムでstat -f .
を実行すると、「タイプ:fuseblk」と表示されます。これは正しくない。 ntfs-3g
とは異なり、これらのファイルシステムはブロックデバイスを使用して実装されていません。 findmnt
を実行すると、タイプはFuse
と表示されます。
修正できますか?
このバグは修正するには遅すぎると思います。 (つまり、これは事実上機能でもあります:-)。
現在、_S_MAGIC_FUSEBLK
_は、カーネルが内部的に呼び出すものを表すように定義されています Fuse_SUPER_MAGIC 。 (Googleは、「fs.h」で定義されている可能性があることを示唆していますか?しかし、 coreutils で「fs.h」が見つかりません)。
_stat -f .
_は_S_MAGIC_FUSEBLK
_を「タイプ:fuseblk」として出力します。これは妥当なように聞こえます。問題は、非ブロックFuseファイルシステムでもまったく同じ魔法が返されることです。これは、Linuxシステムコールstatfs()
によって返されるフィールドの1つにあります。元の作者は、_ntfs-3g
_のようなブロックベースのFuseファイルシステムでのみテストしたと思います。
これについてWebを検索したところ、元のパッチのスレッドしか見つかりませんでした。便利なことに、別のファイルシステムタイプの説明を更新しない理由として、同じスレッドが下位互換性の懸念を説明しました。これが有効である場合は、両方の説明が長すぎて、変更するのはリスクが高すぎるように思われます。
https://lists.gnu.org/archive/html/bug-coreutils/2009-12/msg00229.html