Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何获得有关FUSE文件系统的更详细的文件系统信息?_Linux_Fuse - Fatal编程技术网

Linux 如何获得有关FUSE文件系统的更详细的文件系统信息?

Linux 如何获得有关FUSE文件系统的更详细的文件系统信息?,linux,fuse,Linux,Fuse,在Linux系统上,可以识别“常规”文件系统 使用statfs(2)并检查f_类型。几个变量的常数 statfs(2)手册页中提到了文件系统类型,例如 EXT4_SUPER_MAGIC 0xEF53 BTRFS_SUPER_MAGIC 0x9123683E FUSE_SUPER_MAGIC 0x65735546 PROC_SUPER_MAGIC 0x9fa0 SYSFS_MAGIC 0x62656572 (事实证明,它们实际上是在lin

在Linux系统上,可以识别“常规”文件系统 使用
statfs(2)
并检查
f_类型
。几个变量的常数
statfs(2)
手册页中提到了文件系统类型,例如

EXT4_SUPER_MAGIC      0xEF53
BTRFS_SUPER_MAGIC     0x9123683E
FUSE_SUPER_MAGIC      0x65735546
PROC_SUPER_MAGIC      0x9fa0
SYSFS_MAGIC           0x62656572
(事实证明,它们实际上是在
linux/magic.h
中定义的)

我希望能够区分著名的远程文件系统 (如sshfs)从著名的本地文件系统(如 ntfs-3g)。有没有办法了解更多关于基于保险丝的信息 文件系统,如此时的名称?

以及在每个文件系统的statfs实现中同时实现和设置f_type,似乎被忽略

我相信,使用此方法将导致基于的值为0x65735546

在用户空间中获取文件系统信息的机制是
/proc/mounts
/proc//mountinfo
。这将第9个字段作为filesystem type,其中FUSE子类型(如果它们被指定为装载选项并受内核支持)作为type.subtype。例如fuse.sshfs或fuse.ntfs-3g

要在kernelspace中访问相同的信息,可以使用with the path获取指向vfsmount结构的指针,从中可以访问超级块,然后访问子类型。其中
struct vfsmount*mnt
,子类型为
mnt->mnt\u sb->s\u subtype