* [PATCH 0/4] xfsprogs: fix xfs_healer build issues on older kernels
@ 2026-05-13 19:30 Anthony Iliopoulos
2026-05-13 19:30 ` [PATCH 1/4] configure: always check for statmount supported_mask Anthony Iliopoulos
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Anthony Iliopoulos @ 2026-05-13 19:30 UTC (permalink / raw)
To: linux-xfs
This patch series addresses several build issues that arise when
compiling xfs_healer on systems with older kernel headers. The patches
fix various problems, including missing statmount flag definitions,
incorrect configure checks, and missing stubs for statmount-related
functions. Additionally, the series updates .gitignore to ignore
xfs_healer-generated files.
Anthony Iliopoulos (4):
configure: always check for statmount supported_mask
libfrog: add missing statmount flag definitions
libfrog: add fallback stubs for libfrog_statmount and fstatmount
gitignore: add xfs_healer binaries and services
.gitignore | 3 +++
configure.ac | 2 +-
libfrog/statmount.h | 22 +++++++++++++++++++++-
3 files changed, 25 insertions(+), 2 deletions(-)
--
2.49.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/4] configure: always check for statmount supported_mask
2026-05-13 19:30 [PATCH 0/4] xfsprogs: fix xfs_healer build issues on older kernels Anthony Iliopoulos
@ 2026-05-13 19:30 ` Anthony Iliopoulos
2026-05-14 0:27 ` Darrick J. Wong
2026-05-13 19:30 ` [PATCH 2/4] libfrog: add missing statmount flag definitions Anthony Iliopoulos
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Anthony Iliopoulos @ 2026-05-13 19:30 UTC (permalink / raw)
To: linux-xfs
On systems with kernel headers older than v6.8 that preceed the addition
of the statmount syscall, have_listmount will be set to false and thus
checking of the statmount supported_mask is being skipped since the
check is currently conditional to listmount support.
This causes compilation failures since need_internal_statmount will not
be set, and thus struct statmount will not be available to xfs_healer.
Fix this by always checking for statmount supported_mask support even
when listmount is not available.
Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 2ac5e3d8181a..fe2ffddd9ec4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -192,8 +192,8 @@ AC_HAVE_CLOSE_RANGE
AC_HAVE_LISTMOUNT
if test "$have_listmount" = "yes"; then
AC_HAVE_LISTMOUNT_NS_FD
- AC_HAVE_STATMOUNT_SUPPORTED_MASK
fi
+AC_HAVE_STATMOUNT_SUPPORTED_MASK
AC_HAVE_FANOTIFY_MOUNTINFO
if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then
--
2.49.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/4] libfrog: add missing statmount flag definitions
2026-05-13 19:30 [PATCH 0/4] xfsprogs: fix xfs_healer build issues on older kernels Anthony Iliopoulos
2026-05-13 19:30 ` [PATCH 1/4] configure: always check for statmount supported_mask Anthony Iliopoulos
@ 2026-05-13 19:30 ` Anthony Iliopoulos
2026-05-14 0:27 ` Darrick J. Wong
2026-05-13 19:30 ` [PATCH 3/4] libfrog: add fallback stubs for libfrog_statmount and fstatmount Anthony Iliopoulos
2026-05-13 19:30 ` [PATCH 4/4] gitignore: add xfs_healer binaries and services Anthony Iliopoulos
3 siblings, 1 reply; 9+ messages in thread
From: Anthony Iliopoulos @ 2026-05-13 19:30 UTC (permalink / raw)
To: linux-xfs
Add definitions for STATMOUNT_MNT_BASIC and STATMOUNT_MNT_POINT to support
compilation of xfs_healer on systems with older kernel headers that predate
the statmount syscall (introduced in v6.8).
Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
---
libfrog/statmount.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/libfrog/statmount.h b/libfrog/statmount.h
index 7e281ce93029..b6f1338830a0 100644
--- a/libfrog/statmount.h
+++ b/libfrog/statmount.h
@@ -52,6 +52,14 @@ struct statmount {
/* all the new flags added since the beginning of statmount */
+#ifndef STATMOUNT_MNT_BASIC
+#define STATMOUNT_MNT_BASIC 0x00000002U /* Want/got mnt_... */
+#endif
+
+#ifndef STATMOUNT_MNT_POINT
+#define STATMOUNT_MNT_POINT 0x00000010U /* Want/got mnt_point */
+#endif
+
#ifndef STATMOUNT_MNT_NS_ID
#define STATMOUNT_MNT_NS_ID 0x00000040U /* Want/got mnt_ns_id */
#endif
--
2.49.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/4] libfrog: add fallback stubs for libfrog_statmount and fstatmount
2026-05-13 19:30 [PATCH 0/4] xfsprogs: fix xfs_healer build issues on older kernels Anthony Iliopoulos
2026-05-13 19:30 ` [PATCH 1/4] configure: always check for statmount supported_mask Anthony Iliopoulos
2026-05-13 19:30 ` [PATCH 2/4] libfrog: add missing statmount flag definitions Anthony Iliopoulos
@ 2026-05-13 19:30 ` Anthony Iliopoulos
2026-05-14 0:29 ` Darrick J. Wong
2026-05-13 19:30 ` [PATCH 4/4] gitignore: add xfs_healer binaries and services Anthony Iliopoulos
3 siblings, 1 reply; 9+ messages in thread
From: Anthony Iliopoulos @ 2026-05-13 19:30 UTC (permalink / raw)
To: linux-xfs
Add stubs for libfrog_statmount and fstatmount to enable compilation of
xfs_healer on systems that lack listmount support. Without these stubs,
statmount.c is not compiled, causing compilation errors due to missing
definitions. The stubs allow xfs_healer to fall back to walking the mount
table in userspace.
Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
---
libfrog/statmount.h | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/libfrog/statmount.h b/libfrog/statmount.h
index b6f1338830a0..13aaad3a99dc 100644
--- a/libfrog/statmount.h
+++ b/libfrog/statmount.h
@@ -98,11 +98,23 @@ struct statmount {
int libfrog_listmount(uint64_t mnt_id, int mnt_ns_fd, uint64_t *cursor,
uint64_t *mnt_ids, size_t nr_mnt_ids);
+#ifdef HAVE_LISTMOUNT
int libfrog_statmount(uint64_t mnt_id, int mnt_ns_fd, uint64_t statmount_flags,
struct statmount *smbuf, size_t smbuf_size);
-
int libfrog_fstatmount(int fd, uint64_t statmount_flags,
struct statmount *smbuf, size_t smbuf_size);
+#else
+static inline int libfrog_statmount(uint64_t mnt_id, int mnt_ns_fd, uint64_t statmount_flags,
+ struct statmount *smbuf, size_t smbuf_size)
+{
+ return -ENOSYS;
+}
+static inline int libfrog_fstatmount(int fd, uint64_t statmount_flags,
+ struct statmount *smbuf, size_t smbuf_size)
+{
+ return -ENOSYS;
+}
+#endif
static inline size_t libfrog_statmount_sizeof(size_t strings_bytes)
{
--
2.49.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/4] gitignore: add xfs_healer binaries and services
2026-05-13 19:30 [PATCH 0/4] xfsprogs: fix xfs_healer build issues on older kernels Anthony Iliopoulos
` (2 preceding siblings ...)
2026-05-13 19:30 ` [PATCH 3/4] libfrog: add fallback stubs for libfrog_statmount and fstatmount Anthony Iliopoulos
@ 2026-05-13 19:30 ` Anthony Iliopoulos
2026-05-14 0:28 ` Darrick J. Wong
3 siblings, 1 reply; 9+ messages in thread
From: Anthony Iliopoulos @ 2026-05-13 19:30 UTC (permalink / raw)
To: linux-xfs
Update gitignore with the various binaries and services that have been
introduced by xfs_healer.
Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
---
.gitignore | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.gitignore b/.gitignore
index 6867d669c93d..eb3decd108be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,6 +60,9 @@ cscope.*
/estimate/xfs_estimate
/fsr/xfs_fsr
/growfs/xfs_growfs
+/healer/xfs_healer
+/healer/xfs_healer_start
+/healer/*.service
/io/xfs_io
/logprint/xfs_logprint
/mdrestore/xfs_mdrestore
--
2.49.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/4] configure: always check for statmount supported_mask
2026-05-13 19:30 ` [PATCH 1/4] configure: always check for statmount supported_mask Anthony Iliopoulos
@ 2026-05-14 0:27 ` Darrick J. Wong
0 siblings, 0 replies; 9+ messages in thread
From: Darrick J. Wong @ 2026-05-14 0:27 UTC (permalink / raw)
To: Anthony Iliopoulos; +Cc: linux-xfs
On Wed, May 13, 2026 at 09:30:37PM +0200, Anthony Iliopoulos wrote:
> On systems with kernel headers older than v6.8 that preceed the addition
> of the statmount syscall, have_listmount will be set to false and thus
> checking of the statmount supported_mask is being skipped since the
> check is currently conditional to listmount support.
ahah, that's why it doesn't build on Mageia 9, I gather.
> This causes compilation failures since need_internal_statmount will not
> be set, and thus struct statmount will not be available to xfs_healer.
>
> Fix this by always checking for statmount supported_mask support even
> when listmount is not available.
>
> Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
> ---
> configure.ac | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/configure.ac b/configure.ac
> index 2ac5e3d8181a..fe2ffddd9ec4 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -192,8 +192,8 @@ AC_HAVE_CLOSE_RANGE
> AC_HAVE_LISTMOUNT
> if test "$have_listmount" = "yes"; then
> AC_HAVE_LISTMOUNT_NS_FD
> - AC_HAVE_STATMOUNT_SUPPORTED_MASK
> fi
> +AC_HAVE_STATMOUNT_SUPPORTED_MASK
Yeah, we should test both. Sorry about the braino there. :/
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> AC_HAVE_FANOTIFY_MOUNTINFO
>
> if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then
> --
> 2.49.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] libfrog: add missing statmount flag definitions
2026-05-13 19:30 ` [PATCH 2/4] libfrog: add missing statmount flag definitions Anthony Iliopoulos
@ 2026-05-14 0:27 ` Darrick J. Wong
0 siblings, 0 replies; 9+ messages in thread
From: Darrick J. Wong @ 2026-05-14 0:27 UTC (permalink / raw)
To: Anthony Iliopoulos; +Cc: linux-xfs
On Wed, May 13, 2026 at 09:30:38PM +0200, Anthony Iliopoulos wrote:
> Add definitions for STATMOUNT_MNT_BASIC and STATMOUNT_MNT_POINT to support
> compilation of xfs_healer on systems with older kernel headers that predate
> the statmount syscall (introduced in v6.8).
>
> Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
Looks good to me,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> libfrog/statmount.h | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/libfrog/statmount.h b/libfrog/statmount.h
> index 7e281ce93029..b6f1338830a0 100644
> --- a/libfrog/statmount.h
> +++ b/libfrog/statmount.h
> @@ -52,6 +52,14 @@ struct statmount {
>
> /* all the new flags added since the beginning of statmount */
>
> +#ifndef STATMOUNT_MNT_BASIC
> +#define STATMOUNT_MNT_BASIC 0x00000002U /* Want/got mnt_... */
> +#endif
> +
> +#ifndef STATMOUNT_MNT_POINT
> +#define STATMOUNT_MNT_POINT 0x00000010U /* Want/got mnt_point */
> +#endif
> +
> #ifndef STATMOUNT_MNT_NS_ID
> #define STATMOUNT_MNT_NS_ID 0x00000040U /* Want/got mnt_ns_id */
> #endif
> --
> 2.49.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 4/4] gitignore: add xfs_healer binaries and services
2026-05-13 19:30 ` [PATCH 4/4] gitignore: add xfs_healer binaries and services Anthony Iliopoulos
@ 2026-05-14 0:28 ` Darrick J. Wong
0 siblings, 0 replies; 9+ messages in thread
From: Darrick J. Wong @ 2026-05-14 0:28 UTC (permalink / raw)
To: Anthony Iliopoulos; +Cc: linux-xfs
On Wed, May 13, 2026 at 09:30:40PM +0200, Anthony Iliopoulos wrote:
> Update gitignore with the various binaries and services that have been
> introduced by xfs_healer.
>
> Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> .gitignore | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/.gitignore b/.gitignore
> index 6867d669c93d..eb3decd108be 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -60,6 +60,9 @@ cscope.*
> /estimate/xfs_estimate
> /fsr/xfs_fsr
> /growfs/xfs_growfs
> +/healer/xfs_healer
> +/healer/xfs_healer_start
> +/healer/*.service
> /io/xfs_io
> /logprint/xfs_logprint
> /mdrestore/xfs_mdrestore
> --
> 2.49.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/4] libfrog: add fallback stubs for libfrog_statmount and fstatmount
2026-05-13 19:30 ` [PATCH 3/4] libfrog: add fallback stubs for libfrog_statmount and fstatmount Anthony Iliopoulos
@ 2026-05-14 0:29 ` Darrick J. Wong
0 siblings, 0 replies; 9+ messages in thread
From: Darrick J. Wong @ 2026-05-14 0:29 UTC (permalink / raw)
To: Anthony Iliopoulos; +Cc: linux-xfs
On Wed, May 13, 2026 at 09:30:39PM +0200, Anthony Iliopoulos wrote:
> Add stubs for libfrog_statmount and fstatmount to enable compilation of
> xfs_healer on systems that lack listmount support. Without these stubs,
> statmount.c is not compiled, causing compilation errors due to missing
> definitions. The stubs allow xfs_healer to fall back to walking the mount
> table in userspace.
>
> Signed-off-by: Anthony Iliopoulos <ailiop@suse.com>
Seems fine to me, though I wonder if we should just bite the bullet and
have a separate HAVE_STATMOUNT?
(Eh, maybe when we develop a need for one without the other)
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> libfrog/statmount.h | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/libfrog/statmount.h b/libfrog/statmount.h
> index b6f1338830a0..13aaad3a99dc 100644
> --- a/libfrog/statmount.h
> +++ b/libfrog/statmount.h
> @@ -98,11 +98,23 @@ struct statmount {
> int libfrog_listmount(uint64_t mnt_id, int mnt_ns_fd, uint64_t *cursor,
> uint64_t *mnt_ids, size_t nr_mnt_ids);
>
> +#ifdef HAVE_LISTMOUNT
> int libfrog_statmount(uint64_t mnt_id, int mnt_ns_fd, uint64_t statmount_flags,
> struct statmount *smbuf, size_t smbuf_size);
> -
> int libfrog_fstatmount(int fd, uint64_t statmount_flags,
> struct statmount *smbuf, size_t smbuf_size);
> +#else
> +static inline int libfrog_statmount(uint64_t mnt_id, int mnt_ns_fd, uint64_t statmount_flags,
> + struct statmount *smbuf, size_t smbuf_size)
> +{
> + return -ENOSYS;
> +}
> +static inline int libfrog_fstatmount(int fd, uint64_t statmount_flags,
> + struct statmount *smbuf, size_t smbuf_size)
> +{
> + return -ENOSYS;
> +}
> +#endif
>
> static inline size_t libfrog_statmount_sizeof(size_t strings_bytes)
> {
> --
> 2.49.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-05-14 0:29 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-13 19:30 [PATCH 0/4] xfsprogs: fix xfs_healer build issues on older kernels Anthony Iliopoulos
2026-05-13 19:30 ` [PATCH 1/4] configure: always check for statmount supported_mask Anthony Iliopoulos
2026-05-14 0:27 ` Darrick J. Wong
2026-05-13 19:30 ` [PATCH 2/4] libfrog: add missing statmount flag definitions Anthony Iliopoulos
2026-05-14 0:27 ` Darrick J. Wong
2026-05-13 19:30 ` [PATCH 3/4] libfrog: add fallback stubs for libfrog_statmount and fstatmount Anthony Iliopoulos
2026-05-14 0:29 ` Darrick J. Wong
2026-05-13 19:30 ` [PATCH 4/4] gitignore: add xfs_healer binaries and services Anthony Iliopoulos
2026-05-14 0:28 ` Darrick J. Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox