ioctl_xfs_inumbers(2) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | SEE ALSO | COLOPHON

IOCTL-XFS-INUMBERS(2)      System Calls Manual     IOCTL-XFS-INUMBERS(2)

NAME         top

       ioctl_xfs_inumbers - query allocation information for groups of
       XFS inodes

SYNOPSIS         top

       #include <xfs/xfs_fs.h>

       int ioctl(int fd, XFS_IOC_INUMBERS, struct xfs_inumbers_req
       *arg);

DESCRIPTION         top

       Query inode allocation information for groups of XFS inodes.
       This ioctl uses struct xfs_inumbers_req to set up a bulk transfer
       from the kernel:

           struct xfs_inumbers_req {
                struct xfs_bulk_ireq    hdr;
                struct xfs_inumbers     inumbers[];
           };

       See below for the xfs_inumbers structure definition.

           struct xfs_bulk_ireq {
                uint64_t                ino;
                uint32_t                flags;
                uint32_t                icount;
                uint32_t                ocount;
                uint32_t                agno;
                uint64_t                reserved[5];
           };

       hdr describes the information to query.  The layout and behavior
       are documented in the ioctl_xfs_bulkstat(2) manpage and will not
       be discussed further here.

       inumbers is an array of struct xfs_inumbers which is described
       below.  The array must have at least icount elements.

           struct xfs_inumbers {
                uint64_t                xi_startino;
                uint64_t                xi_allocmask;
                uint8_t                 xi_alloccount;
                uint8_t                 xi_version;
                uint8_t                 xi_padding[6];
           };

       This structure describes inode usage information for a group of
       64 consecutive inode numbers.

       xi_startino is the first inode number of this group.

       xi_allocmask is a bitmask telling which inodes in this group are
       allocated.  To clarify, bit N is set if inode xi_startino+N is
       allocated.

       xi_alloccount is the number of inodes in this group that are
       allocated.  This should be equal to popcnt(xi_allocmask).

       xi_version is the version of this data structure.  This will be
       set to XFS_INUMBERS_VERSION_V5 by the kernel.

       xi_padding[6] is zeroed.

RETURN VALUE         top

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

ERRORS         top

       Error codes can be one of, but are not limited to, the following:

       EFAULT The kernel was not able to copy into the userspace buffer.

       EFSBADCRC
              Metadata checksum validation failed while performing the
              query.

       EFSCORRUPTED
              Metadata corruption was encountered while performing the
              query.

       EINVAL One of the arguments was not valid.

       EIO    An I/O error was encountered while performing the query.

       ENOMEM There was insufficient memory to perform the query.

CONFORMING TO         top

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

SEE ALSO         top

       ioctl(2), ioctl_xfs_bulkstat(2).

COLOPHON         top

       This page is part of the xfsprogs (utilities for XFS filesystems)
       project.  Information about the project can be found at 
       ⟨http://xfs.org/⟩.  If you have a bug report for this manual page,
       send it to linux-xfs@vger.kernel.org.  This page was obtained
       from the project's upstream Git repository
       ⟨https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git⟩ on
       2023-12-22.  (At that time, the date of the most recent commit
       that was found in the repository was 2023-10-12.)  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to man-pages@man7.org

XFS                            2019-05-23          IOCTL-XFS-INUMBERS(2)