From: Brahmajit Das Date: Mon, 30 Jun 2025 11:02:41 +0000 (+0200) Subject: samples: fix building fs-monitor on musl systems X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3193e8942fc7f70ba3c872a988a0c15f98818bd2;p=thirdparty%2Fkernel%2Flinux.git samples: fix building fs-monitor on musl systems samples/fanotify/fs-monitor.c:22:9: error: unknown type name '__s32' 22 | __s32 error; | ^~~~~ samples/fanotify/fs-monitor.c:23:9: error: unknown type name '__u32' 23 | __u32 error_count; | ^~~~~ samples/fanotify/fs-monitor.c: In function 'handle_notifications': samples/fanotify/fs-monitor.c:98:50: error: 'fsid_t' has no member named 'val'; did you mean '__val'? 98 | fid->fsid.val[0], fid->fsid.val[1]); | ^~~ | __val samples/fanotify/fs-monitor.c:98:68: error: 'fsid_t' has no member named 'val'; did you mean '__val'? 98 | fid->fsid.val[0], fid->fsid.val[1]); | ^~~ | __val This is due to sys/fanotify.h on musl does not include linux/fanotify.h[0] unlike glibc which includes it. This also results in fsid not being of type __kernel_fsid_t, rather the libc's definition of it which does not have val, but instead __val. [0]: https://git.musl-libc.org/cgit/musl/tree/include/sys/fanotify.h Signed-off-by: Brahmajit Das Signed-off-by: Jan Kara Link: https://patch.msgid.link/20250630103011.27484-1-listout@listout.xyz --- diff --git a/samples/fanotify/fs-monitor.c b/samples/fanotify/fs-monitor.c index 608db24c471e7..28c0a652ffebf 100644 --- a/samples/fanotify/fs-monitor.c +++ b/samples/fanotify/fs-monitor.c @@ -12,6 +12,9 @@ #include #include #include +#ifndef __GLIBC__ +#include +#endif #ifndef FAN_FS_ERROR #define FAN_FS_ERROR 0x00008000 @@ -95,7 +98,11 @@ static void handle_notifications(char *buffer, int len) fid = (struct fanotify_event_info_fid *) info; printf("\tfsid: %x%x\n", +#if defined(__GLIBC__) fid->fsid.val[0], fid->fsid.val[1]); +#else + fid->fsid.__val[0], fid->fsid.__val[1]); +#endif print_fh((struct file_handle *) &fid->handle); break;