It is recommended to test a HAVE_* macro instead of directly testing the host type in source code. Hence this patch.
Signed-off-by: Bart Van Assche <[email protected]> --- configure.ac | 2 ++ lib/libf2fs.c | 4 +++- lib/libf2fs_io.c | 10 +++++++--- lib/libf2fs_zoned.c | 2 +- mkfs/f2fs_format.c | 4 +++- mkfs/f2fs_format_main.c | 2 +- mkfs/f2fs_format_utils.c | 7 +++++-- 7 files changed, 22 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index fc094b72b583..f0ed5f6528d9 100644 --- a/configure.ac +++ b/configure.ac @@ -116,6 +116,7 @@ AC_CHECK_HEADERS(m4_flatten([ sys/acl.h sys/ioctl.h sys/mount.h + sys/stat.h sys/syscall.h sys/sysmacros.h sys/utsname.h @@ -138,6 +139,7 @@ AC_CHECK_FUNCS_ONCE([ fsetxattr fstat fstat64 + fsync getgid getmntent getuid diff --git a/lib/libf2fs.c b/lib/libf2fs.c index c7102528f2f4..aa4e854acc9d 100644 --- a/lib/libf2fs.c +++ b/lib/libf2fs.c @@ -22,8 +22,10 @@ #endif #include <time.h> #include <sys/stat.h> -#ifndef _WIN32 +#ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> +#endif +#ifdef HAVE_SYS_IOCTL_H #include <sys/ioctl.h> #endif #ifdef HAVE_SYS_SYSMACROS_H diff --git a/lib/libf2fs_io.c b/lib/libf2fs_io.c index 287199314190..09a689293356 100644 --- a/lib/libf2fs_io.c +++ b/lib/libf2fs_io.c @@ -23,9 +23,13 @@ #include <mntent.h> #endif #include <time.h> -#ifndef _WIN32 +#ifdef HAVE_SYS_STAT_H #include <sys/stat.h> +#endif +#ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> +#endif +#ifdef HAVE_SYS_IOCTL_H #include <sys/ioctl.h> #endif #ifdef HAVE_LINUX_HDREG_H @@ -634,7 +638,7 @@ int dev_reada_block(__u64 blk_addr) int f2fs_fsync_device(void) { -#ifndef _WIN32 +#ifdef HAVE_FSYNC int i; for (i = 0; i < c.ndevs; i++) { @@ -783,7 +787,7 @@ int f2fs_finalize_device(void) * in the block device page cache. */ for (i = 0; i < c.ndevs; i++) { -#ifndef _WIN32 +#ifdef HAVE_FSYNC ret = fsync(c.devices[i].fd); if (ret < 0) { MSG(0, "\tError: Could not conduct fsync!!!\n"); diff --git a/lib/libf2fs_zoned.c b/lib/libf2fs_zoned.c index cb954feabe61..fdde3f70a606 100644 --- a/lib/libf2fs_zoned.c +++ b/lib/libf2fs_zoned.c @@ -22,7 +22,7 @@ #ifdef HAVE_LINUX_LIMITS_H #include <linux/limits.h> #endif -#ifndef _WIN32 +#ifdef HAVE_SYS_IOCTL_H #include <sys/ioctl.h> #endif #include <libgen.h> diff --git a/mkfs/f2fs_format.c b/mkfs/f2fs_format.c index 6f2761cfdb75..ce7d1c9e40bd 100644 --- a/mkfs/f2fs_format.c +++ b/mkfs/f2fs_format.c @@ -13,8 +13,10 @@ #include <fcntl.h> #include <string.h> #include <unistd.h> -#ifndef _WIN32 +#ifdef HAVE_SYS_STAT_H #include <sys/stat.h> +#endif +#ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif #include <time.h> diff --git a/mkfs/f2fs_format_main.c b/mkfs/f2fs_format_main.c index 4d4fad9ad86d..b8936f15e0f2 100644 --- a/mkfs/f2fs_format_main.c +++ b/mkfs/f2fs_format_main.c @@ -15,7 +15,7 @@ #include <stdbool.h> #include <unistd.h> #include <sys/stat.h> -#ifndef _WIN32 +#ifdef HAVE_SYS_MOUNT_H #include <sys/mount.h> #endif #include <time.h> diff --git a/mkfs/f2fs_format_utils.c b/mkfs/f2fs_format_utils.c index 53101d1bd790..e3c58936e968 100644 --- a/mkfs/f2fs_format_utils.c +++ b/mkfs/f2fs_format_utils.c @@ -26,7 +26,7 @@ #include <unistd.h> #include <stdlib.h> #include <stdbool.h> -#ifndef _WIN32 +#ifdef HAVE_SYS_IOCTL_H #include <sys/ioctl.h> #endif #include <sys/stat.h> @@ -39,16 +39,19 @@ #include <linux/falloc.h> #endif +#ifdef __linux__ #ifndef BLKDISCARD #define BLKDISCARD _IO(0x12,119) #endif #ifndef BLKSECDISCARD #define BLKSECDISCARD _IO(0x12,125) #endif +#endif static int trim_device(int i) { -#ifndef _WIN32 +#if defined(FALLOC_FL_PUNCH_HOLE) || defined(BLKDISCARD) || \ + defined(BLKSECDISCARD) unsigned long long range[2]; struct stat *stat_buf; struct device_info *dev = c.devices + i; _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
