Content-type: text/html; charset=UTF-8 Man page of IOCTL-XFS-AG-GEOMETRY

IOCTL-XFS-AG-GEOMETRY

Section: System Calls (2)
Updated: 2019-04-11
Index Return to Main Contents
 

NAME

ioctl_xfs_ag_geometry - query XFS allocation group geometry information  

SYNOPSIS


#include <xfs/xfs_fs.h>

int ioctl(int dest_fd, XFS_IOC_AG_GEOMETRY, struct xfs_ag_geometry *arg);  

DESCRIPTION

This XFS ioctl retrieves the geometry information for a given allocation group. The geometry information is conveyed in a structure of the following form:

struct xfs_ag_geometry {
        uint32_t ag_number;
        uint32_t ag_length;
        uint32_t ag_freeblks;
        uint32_t ag_icount;
        uint32_t ag_ifree;
        uint32_t ag_sick;
        uint32_t ag_checked;
        uint32_t ag_reserved32;
        uint64_t ag_reserved[12];
};

The field ag_number indicates the number of allocation group that the caller wishes to learn about.

The fields ag_length and ag_freeblks are set to the number of blocks and the number of free blocks in the allocation group, in units of filesystem blocks.

The field ag_icount is set to the number of inode records allocated in this allocation group.

The field ag_ifree is set to the number of unused inode records (of the space allocated) in this allocation group.

The fields ag_reserved and ag_reserved32 will be set to zero.

The fields ag_sick and ag_checked indicate the relative health of various allocation group metadata:

If a given sick flag is set in ag_sick, then that piece of metadata has been observed to be damaged. The same bit will be set in ag_checked.
If a given sick flag is set in ag_checked and is not set in ag_sick, then that piece of metadata has been checked and is not faulty.
If a given sick flag is not set in ag_checked, then no conclusion can be made.

The following flags apply to these fields:

XFS_AG_GEOM_SICK_SB
Allocation group superblock.
XFS_AG_GEOM_SICK_AGF
Free space header.
XFS_AG_GEOM_SICK_AGFL
Free space reserve list.
XFS_AG_GEOM_SICK_AGI
Inode header.
XFS_AG_GEOM_SICK_BNOBT or XFS_AG_GEOM_SICK_CNTBT
Free space btrees.
XFS_AG_GEOM_SICK_INOBT or XFS_AG_GEOM_SICK_FINOBT
Inode btrees.
XFS_AG_GEOM_SICK_RMAPBT
Reverse mapping btree.
XFS_AG_GEOM_SICK_REFCNTBT
Reference count btree.
 

RETURN VALUE

On error, -1 is returned, and errno is set to indicate the error.

 

ERRORS

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 allocation group number is not valid for this filesystem.
EIO
An I/O error was encountered while performing the query.
 

CONFORMING TO

This API is specific to XFS filesystem on the Linux kernel.  

SEE ALSO

ioctl(2)


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
CONFORMING TO
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 14:54:29 GMT, April 11, 2019