aboutsummaryrefslogtreecommitdiff
path: root/man.txt
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-10-18 12:05:37 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-10-18 12:05:37 +0300
commit89eed10ae9034dd334eddd3cb305e2a355dfa291 (patch)
treea64eff61a866474f03b131b2fe45d72eaa267574 /man.txt
parentbbdaf22a889b16c553889a72364ce7bd95b15c64 (diff)
downloadcryptrobber-89eed10ae9034dd334eddd3cb305e2a355dfa291.tar
cryptrobber-89eed10ae9034dd334eddd3cb305e2a355dfa291.tar.xz
cryptrobber-89eed10ae9034dd334eddd3cb305e2a355dfa291.zip
.
Diffstat (limited to 'man.txt')
-rw-r--r--man.txt96
1 files changed, 96 insertions, 0 deletions
diff --git a/man.txt b/man.txt
new file mode 100644
index 0000000..919f62c
--- /dev/null
+++ b/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 <xfs/xfs_fs.h>
+
+ 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)