Standards require that the f_bsize, f_frsize, f_flag and f_namemax fields be
unsigned long. They used to be only unsigned on hurd, which happens to be
compatible with unsigned long on the only existing, 32bit, port. We can
thus merely fix the type.
* sysdeps/mach/hurd/bits/statvfs.h (struct statvfs): Make f_bsize,
f_namemax, f_frsize, and f_flag fields unsigned long int instead of
unsigned int.
(struct statvfs64): Likewise.
Likewise.
* conform/data/sys/stat.h-data (stat.st_dev): Likewise.
* conform/data/sys/statvfs.h-data (statvfs.f_fsid): Likewise.
+ * sysdeps/mach/hurd/bits/statvfs.h (struct statvfs): Make f_bsize,
+ f_namemax, f_frsize, and f_flag fields unsigned long int instead of
+ unsigned int.
+ (struct statvfs64): Likewise.
2018-04-18 Joseph Myers <joseph@codesourcery.com>
struct statvfs
{
unsigned int __f_type;
- unsigned int f_bsize;
+ unsigned long int f_bsize;
#ifndef __USE_FILE_OFFSET64
__fsblkcnt_t f_blocks;
__fsblkcnt_t f_bfree;
__fsfilcnt64_t f_ffree;
#endif
__fsid_t f_fsid;
- unsigned int f_namemax; /* NOTE: f_namelen in `struct statfs'. */
+ unsigned long int f_namemax; /* NOTE: f_namelen in `struct statfs'. */
#ifndef __USE_FILE_OFFSET64
__fsfilcnt_t f_favail;
#else
__fsfilcnt64_t f_favail;
#endif
- unsigned int f_frsize;
- unsigned int f_flag;
+ unsigned long int f_frsize;
+ unsigned long int f_flag;
unsigned int f_spare[3];
};
struct statvfs64
{
unsigned int __f_type;
- unsigned int f_bsize;
+ unsigned long int f_bsize;
__fsblkcnt64_t f_blocks;
__fsblkcnt64_t f_bfree;
__fsblkcnt64_t f_bavail;
__fsfilcnt64_t f_files;
__fsfilcnt64_t f_ffree;
__fsid_t f_fsid;
- unsigned int f_namemax;
+ unsigned long int f_namemax;
__fsfilcnt64_t f_favail;
- unsigned int f_frsize;
- unsigned int f_flag;
+ unsigned long int f_frsize;
+ unsigned long int f_flag;
unsigned int f_spare[3];
};
#endif