Linux 使用statvfs结构计算自由空间的最佳方法?
我们是否必须使用Linux 使用statvfs结构计算自由空间的最佳方法?,linux,filesystems,linux-kernel,Linux,Filesystems,Linux Kernel,我们是否必须使用 f_bfree×f_frsize 或 f_bfree×f_bsize 计算文件系统中的可用磁盘空间 struct statvfs { unsigned long f_bsize; /* file system block size */ unsigned long f_frsize; /* fragment size */ fsblkcnt_t f_blocks; /* size of fs in f_frsize units
struct statvfs {
unsigned long f_bsize; /* file system block size */
unsigned long f_frsize; /* fragment size */
fsblkcnt_t f_blocks; /* size of fs in f_frsize units */
fsblkcnt_t f_bfree; /* # free blocks */
fsblkcnt_t f_bavail; /* # free blocks for unprivileged users */
fsfilcnt_t f_files; /* # inodes */
fsfilcnt_t f_ffree; /* # free inodes */
fsfilcnt_t f_favail; /* # free inodes for unprivileged users */
unsigned long f_fsid; /* file system ID */
unsigned long f_flag; /* mount flags */
unsigned long f_namemax; /* maximum filename length */
};
我认为这是选项2(f_bsize)。 f_bfree是空闲块的数量,因此您应该将其乘以块的大小。请注意,df的输出显示f_bavail*f_bsize为可用空间。