From df0d6a4503a26508553510b4050eaa79f52e4e4e Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Sun, 18 Oct 2020 18:22:31 +0300 Subject: Another step to release. --- samples/man.txt | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 samples/man.txt (limited to 'samples/man.txt') diff --git a/samples/man.txt b/samples/man.txt new file mode 100644 index 0000000..919f62c --- /dev/null +++ b/samples/man.txt @@ -0,0 +1,96 @@ +IOCTL-XFS-INUMBERS(2) System Calls Manual IOCTL-XFS-INUMBERS(2) + + + +NAME + ioctl_xfs_inumbers - query allocation information for groups of XFS + inodes + +SYNOPSIS + #include + + int ioctl(int fd, XFS_IOC_INUMBERS, struct xfs_inumbers_req *arg); + +DESCRIPTION + 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 + 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: + + 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 + This API is specific to XFS filesystem on the Linux kernel. + +SEE ALSO + ioctl(2), ioctl_xfs_bulkstat(2). + + + +XFS 2019-05-23 IOCTL-XFS-INUMBERS(2) -- cgit v1.2.3