xfstests: Fix build with musl >= 1.2.5

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2024-03-25 10:56:46 -07:00
parent 025e589575
commit fbbe7cefdd
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 128 additions and 0 deletions

View File

@ -0,0 +1,84 @@
From 37caab7a43da5ede0ff1eb700f0257a213ac4b18 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 25 Mar 2024 10:46:50 -0700
Subject: [PATCH 1/2] include libgen.h for basename API prototype
basename prototype has been removed from string.h from latest musl [1]
compilers e.g. clang-18 flags the absense of prototype as error. therefore
include libgen.h for providing it.
[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240325175323.3450750-1-raj.khem@gmail.com/T/#t]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/splice-test.c | 1 +
src/stat_test.c | 1 +
src/t_ext4_dax_inline_corruption.c | 1 +
src/t_ext4_dax_journal_corruption.c | 1 +
src/t_mmap_collision.c | 1 +
5 files changed, 5 insertions(+)
diff --git a/src/splice-test.c b/src/splice-test.c
index eb863673..7b7094f5 100644
--- a/src/splice-test.c
+++ b/src/splice-test.c
@@ -11,6 +11,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <err.h>
+#include <libgen.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/src/stat_test.c b/src/stat_test.c
index 95cfdc4f..77e1acdd 100644
--- a/src/stat_test.c
+++ b/src/stat_test.c
@@ -4,6 +4,7 @@
* Written by David Howells (dhowells@redhat.com)
*/
+#include <libgen.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
diff --git a/src/t_ext4_dax_inline_corruption.c b/src/t_ext4_dax_inline_corruption.c
index e1a39a6c..a40c5df5 100644
--- a/src/t_ext4_dax_inline_corruption.c
+++ b/src/t_ext4_dax_inline_corruption.c
@@ -2,6 +2,7 @@
/* Copyright (c) 2018 Intel Corporation. */
#include <errno.h>
#include <fcntl.h>
+#include <libgen.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/src/t_ext4_dax_journal_corruption.c b/src/t_ext4_dax_journal_corruption.c
index ba7a96e4..53be10c2 100644
--- a/src/t_ext4_dax_journal_corruption.c
+++ b/src/t_ext4_dax_journal_corruption.c
@@ -2,6 +2,7 @@
/* Copyright (c) 2018 Intel Corporation. */
#include <errno.h>
#include <fcntl.h>
+#include <libgen.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/src/t_mmap_collision.c b/src/t_mmap_collision.c
index c872f4e2..d9315fcf 100644
--- a/src/t_mmap_collision.c
+++ b/src/t_mmap_collision.c
@@ -15,6 +15,7 @@
*/
#include <errno.h>
#include <fcntl.h>
+#include <libgen.h>
#include <pthread.h>
#include <stdbool.h>
#include <stdio.h>
--
2.44.0

View File

@ -0,0 +1,42 @@
From 052818e91314b797d96d87672c60f6784160f935 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 25 Mar 2024 10:50:59 -0700
Subject: [PATCH 2/2] Add missing STATX_ATTR_* defines from musl sys/stat.h
These defines are not provided by sys/stat.h on musl but are
in glibc's sys/stat.h, therefore to compile the tests on musl
based systems add the missing defines from linux/stat.h
if they are not provided
Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240325175323.3450750-2-raj.khem@gmail.com/T/#u]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/statx.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/statx.h b/src/statx.h
index 3f239d79..12599f5b 100644
--- a/src/statx.h
+++ b/src/statx.h
@@ -12,6 +12,18 @@
#define AT_STATX_DONT_SYNC 0x4000 /* - Don't sync attributes with the server */
#endif
+#ifndef STATX_ATTR_COMPRESSED
+#define STATX_ATTR_COMPRESSED 0x00000004 /* [I] File is compressed by the fs */
+#define STATX_ATTR_IMMUTABLE 0x00000010 /* [I] File is marked immutable */
+#define STATX_ATTR_APPEND 0x00000020 /* [I] File is append-only */
+#define STATX_ATTR_NODUMP 0x00000040 /* [I] File is not to be dumped */
+#define STATX_ATTR_ENCRYPTED 0x00000800 /* [I] File requires key to decrypt in fs */
+#define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */
+#define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */
+#define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */
+#define STATX_ATTR_DAX 0x00200000 /* File is currently in DAX state */
+#endif
+
#ifndef AT_NO_AUTOMOUNT
#define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount traversal */
#endif
--
2.44.0

View File

@ -10,6 +10,8 @@ SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master \
git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \
file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
file://0001-include-libgen.h-for-basename-API-prototype.patch \
file://0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch \
"
S = "${WORKDIR}/git"