basic: introduce our own sys/mount.h implementation

To resolve conflict with sys/mount.h and linux/mount.h or linux/fs.h.

The conflict between sys/mount.h and linux/mount.h is resolved in
glibc-2.37 (774058d72942249f71d74e7f2b639f77184160a6), but our baseline
is still glibc-2.31. Also, even with the version or newer, still
sys/mount.h conflicts with linux/fs.h, which is included by
linux/btrfs.h.

This introduces our own implementation of sys/mount.h, that can be
simultaneously included with linux/mount.h and linux/fs.h. This also
imports linux/fs.h, linux/mount.h, and several other dependent headers.
The introduced sys/mount.h header itself may not be enough simple, but
by using the header, we can drop most of workarounds in other source files.
This commit is contained in:
Yu Watanabe
2025-03-04 02:24:49 +09:00
parent bc2bb59bdd
commit ec32732043
49 changed files with 1183 additions and 374 deletions
-3
View File
@@ -4,9 +4,6 @@
#include <getopt.h>
#include <linux/fuse.h>
#include <linux/loop.h>
#if HAVE_SELINUX
#include <selinux/selinux.h>
#endif
#include <stdlib.h>
#include <sys/file.h>
#include <sys/ioctl.h>