mirror of https://github.com/torvalds/linux.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 <listout@listout.xyz>
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20250630103011.27484-1-listout@listout.xyz
This commit is contained in:
parent
8631e01c2c
commit
3193e8942f
|
|
@ -12,6 +12,9 @@
|
||||||
#include <sys/fanotify.h>
|
#include <sys/fanotify.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#ifndef __GLIBC__
|
||||||
|
#include <asm-generic/int-ll64.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef FAN_FS_ERROR
|
#ifndef FAN_FS_ERROR
|
||||||
#define FAN_FS_ERROR 0x00008000
|
#define FAN_FS_ERROR 0x00008000
|
||||||
|
|
@ -95,7 +98,11 @@ static void handle_notifications(char *buffer, int len)
|
||||||
fid = (struct fanotify_event_info_fid *) info;
|
fid = (struct fanotify_event_info_fid *) info;
|
||||||
|
|
||||||
printf("\tfsid: %x%x\n",
|
printf("\tfsid: %x%x\n",
|
||||||
|
#if defined(__GLIBC__)
|
||||||
fid->fsid.val[0], fid->fsid.val[1]);
|
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);
|
print_fh((struct file_handle *) &fid->handle);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue