C 确定基础文件系统的类型/名称

C 确定基础文件系统的类型/名称,c,unix,filesystems,parallel-processing,C,Unix,Filesystems,Parallel Processing,有没有办法通过编程确定底层文件系统的类型/名称?本例中的文件系统可以是类似lustre/pvfs的并行文件系统。所以我需要查询这个名称,而不是像ext3这样的底层文件系统的名称 谢谢。statfs函数中的f_类型字段为您提供了什么?使用fstatfs函数的statfs获取其在statfs结构的f_类型中的类型。此类型值为您提供了一个幻数,您可以使用它来标识文件系统。至少在我的系统中定义了所有幻数:在/usr/include/linux/magic.h中,例如: 我在PVFS2上运行时得到了537

有没有办法通过编程确定底层文件系统的类型/名称?本例中的文件系统可以是类似lustre/pvfs的并行文件系统。所以我需要查询这个名称,而不是像ext3这样的底层文件系统的名称

谢谢。

statfs函数中的f_类型字段为您提供了什么?

使用fstatfs函数的statfs获取其在statfs结构的f_类型中的类型。此类型值为您提供了一个幻数,您可以使用它来标识文件系统。至少在我的系统中定义了所有幻数:在/usr/include/linux/magic.h中,例如:


我在PVFS2上运行时得到了537068840。statfs的手册页没有将PVFS列为文件系统。我想,既然orangefs在内核中,它将获得一个人类可读的名称,但这个数字来自这里:define PVFS2_SUPER_MAGIC 0x20030528
#define EXT3_SUPER_MAGIC    0xEF53