ioctl_xfs_rtgroup_geometry - query XFS realtime group geometry
information
#include <xfs/xfs_fs.h>
int ioctl(int fd, XFS_IOC_RTGROUP_GEOMETRY,
struct xfs_rtgroup_geometry *arg);
This XFS ioctl retrieves the geometry information for a given
realtime group. The geometry information is conveyed in a structure of the
following form:
struct xfs_rtgroup_geometry {
__u32 rg_number;
__u32 rg_length;
__u32 rg_sick;
__u32 rg_checked;
__u32 rg_flags;
__u32 rg_reserved[27];
};
- rg_number
- The caller must set this field to the index of the realtime group that the
caller wishes to learn about.
- rg_length
- The length of the realtime group is returned in this field, in units of
filesystem blocks. rg_flags The caller can set this field to change
the operational behavior of the ioctl. Currently no flags are defined, so
this field must be zero.
- rg_reserved
and rg_pad
- All reserved fields will be set to zero on return.
The fields rg_sick and rg_checked indicate the
relative health of various realtime group metadata:
- •
- If a given sick flag is set in rg_sick, then that piece of metadata
has been observed to be damaged. The same bit will be set in
rg_checked.
- •
- If a given sick flag is set in rg_checked and is not set in
rg_sick, then that piece of metadata has been checked and is not
faulty.
- •
- If a given sick flag is not set in rg_checked, then no conclusion
can be made.
The following flags apply to these fields:
On error, -1 is returned, and errno is set to indicate the
error.
Error codes can be one of, but are not limited to, the
following:
- EFSBADCRC
- Metadata checksum validation failed while performing the query.
- EFSCORRUPTED
- Metadata corruption was encountered while performing the query.
- EINVAL
- The specified realtime group number is not valid for this filesystem.
- EIO
- An I/O error was encountered while performing the query.
This API is specific to XFS filesystem on the Linux kernel.