[LTP] [PATCH 1/2] Add logical_block_metadata_cap struct fallback

Andrea Cervesato andrea.cervesato@suse.de
Wed Mar 25 15:19:10 CET 2026


From: Andrea Cervesato <andrea.cervesato@suse.com>

Add UAPI fallback definitions for struct logical_block_metadata_cap,
FS_IOC_GETLBMD_CAP ioctl and related LBMD_* constants in lapi/fs.h
for systems whose kernel headers predate v6.17.

Also add the corresponding AC_CHECK_TYPES entry in configure.ac.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 configure.ac      |  2 ++
 include/lapi/fs.h | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/configure.ac b/configure.ac
index 9d6ec7f13ad421aa35840ebc65745c962b11e1db..685771096f5329177237f2c2a6e5dda00853c469 100644
--- a/configure.ac
+++ b/configure.ac
@@ -274,6 +274,8 @@ AC_CHECK_TYPES([struct file_attr],,,[#include <linux/fs.h>])
 
 AC_CHECK_TYPES([struct fsxattr],,,[#include <linux/fs.h>])
 
+AC_CHECK_TYPES([struct logical_block_metadata_cap],,,[#include <linux/fs.h>])
+
 AC_CHECK_TYPES([struct sockaddr_vm],,,[
 #include <sys/socket.h>
 #include <linux/vm_sockets.h>
diff --git a/include/lapi/fs.h b/include/lapi/fs.h
index 6b5056bd25c5504637f01f10be8b091f79d5632d..471ad0a25b805b9d4254b13611445a1cc294e0f1 100644
--- a/include/lapi/fs.h
+++ b/include/lapi/fs.h
@@ -136,4 +136,25 @@ static inline int file_setattr(int dfd, const char *filename,
 }
 #endif
 
+#ifndef HAVE_STRUCT_LOGICAL_BLOCK_METADATA_CAP
+struct logical_block_metadata_cap {
+	uint32_t	lbmd_flags;
+	uint16_t	lbmd_interval;
+	uint8_t		lbmd_size;
+	uint8_t		lbmd_opaque_size;
+	uint8_t		lbmd_opaque_offset;
+	uint8_t		lbmd_pi_size;
+	uint8_t		lbmd_pi_offset;
+	uint8_t		lbmd_guard_tag_type;
+	uint8_t		lbmd_app_tag_size;
+	uint8_t		lbmd_ref_tag_size;
+	uint8_t		lbmd_storage_tag_size;
+	uint8_t		pad;
+};
+#endif
+
+#ifndef FS_IOC_GETLBMD_CAP
+# define FS_IOC_GETLBMD_CAP	_IOWR(0x15, 2, struct logical_block_metadata_cap)
+#endif
+
 #endif /* LAPI_FS_H__ */

-- 
2.51.0



More information about the ltp mailing list