diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-12-28 19:01:53 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2019-12-04 11:01:31 +0100 |
commit | 24a0b2c0abc0ac1320d743eeac28832e14602604 (patch) | |
tree | a98759cd8b9f9929c6ea78f52be203c92aab125a | |
parent | c0dd3269535b346f7d803d6816631af0784bd5bd (diff) | |
download | systemd-24a0b2c0abc0ac1320d743eeac28832e14602604.tar.gz |
missing: add XFS magic
-rw-r--r-- | src/basic/missing_magic.h | 5 | ||||
-rw-r--r-- | src/basic/missing_xfs.h | 42 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/basic/missing_magic.h b/src/basic/missing_magic.h index 4910cd368f..a05b5b5c3c 100644 --- a/src/basic/missing_magic.h +++ b/src/basic/missing_magic.h @@ -32,3 +32,8 @@ #ifndef MQUEUE_MAGIC #define MQUEUE_MAGIC 0x19800202 #endif + +/* Not exposed yet (as of Linux 5.4). Defined in fs/xfs/libxfs/xfs_format.h */ +#ifndef XFS_SB_MAGIC +#define XFS_SB_MAGIC 0x58465342 +#endif diff --git a/src/basic/missing_xfs.h b/src/basic/missing_xfs.h new file mode 100644 index 0000000000..9eac76dd67 --- /dev/null +++ b/src/basic/missing_xfs.h @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ +#pragma once + +/* This is currently not exported in the public kernel headers, but the libxfs library code part of xfsprogs + * defines it as public header */ + +#ifndef XFS_IOC_FSGEOMETRY +#define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom) + +typedef struct xfs_fsop_geom { + uint32_t blocksize; + uint32_t rtextsize; + uint32_t agblocks; + uint32_t agcount; + uint32_t logblocks; + uint32_t sectsize; + uint32_t inodesize; + uint32_t imaxpct; + uint64_t datablocks; + uint64_t rtblocks; + uint64_t rtextents; + uint64_t logstart; + unsigned char uuid[16]; + uint32_t sunit; + uint32_t swidth; + int32_t version; + uint32_t flags; + uint32_t logsectsize; + uint32_t rtsectsize; + uint32_t dirblocksize; + uint32_t logsunit; +} xfs_fsop_geom_t; +#endif + +#ifndef XFS_IOC_FSGROWFSDATA +#define XFS_IOC_FSGROWFSDATA _IOW ('X', 110, struct xfs_growfs_data) + +typedef struct xfs_growfs_data { + uint64_t newblocks; + uint32_t imaxpct; +} xfs_growfs_data_t; +#endif |