struct statx {
__u32 stx_mask; /* Mask of bits indicating filled fields */
- __u32 stx_blksize; /* Block size for filesystem I/O */
+ __u32 stx_blksize; /* Preferred block size for filesystem I/O */
__u64 stx_attributes; /* Extra file attribute indicators */
__u32 stx_nlink; /* Number of hard links */
__u32 stx_uid; /* User ID of owner */
__u32 stx_gid; /* Group ID of owner */
__u16 stx_mode; /* File type and mode */
+ __u16 __spare0[1];
__u64 stx_ino; /* Inode number */
- __u64 stx_size; /* Total size in bytes */
- __u64 stx_blocks; /* Number of 512B blocks allocated */
+ __u64 stx_size; /* File size in bytes */
+ __u64 stx_blocks; /* Number of 512-byte blocks allocated */
__u64 stx_attributes_mask;
/* Mask to show what's supported in stx_attributes */
/* The following fields are file timestamps */
- struct statx_timestamp stx_atime; /* Last access */
- struct statx_timestamp stx_btime; /* Creation */
- struct statx_timestamp stx_ctime; /* Last status change */
- struct statx_timestamp stx_mtime; /* Last modification */
+ struct statx_timestamp stx_atime; /* Last access time */
+ struct statx_timestamp stx_btime; /* File creation time */
+ struct statx_timestamp stx_ctime; /* Last status change time */
+ struct statx_timestamp stx_mtime; /* Last data modification time */
/* If this file represents a device, then the next two
fields contain the ID of the device */
__u32 stx_rdev_major; /* Major ID */
containing the filesystem where the file resides */
__u32 stx_dev_major; /* Major ID */
__u32 stx_dev_minor; /* Minor ID */
+ __u64 __spare2[14]; /* Spare space for future expansion */
};