]> granicus.if.org Git - strace/commitdiff
file_ioctl.c: fix build on systems without <linux/fiemap.h>
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 24 May 2016 00:19:17 +0000 (00:19 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 24 May 2016 14:52:27 +0000 (14:52 +0000)
* configure.ac (AC_CHECK_HEADERS): Add linux/fiemap.h.
* file_ioctl.c: Do not include <linux/fiemap.h> and xlat/fiemap_*.h
if [!HAVE_LINUX_FIEMAP_H].
(file_ioctl): Do not parse FS_IOC_FIEMAP if [!HAVE_LINUX_FIEMAP_H].

configure.ac
file_ioctl.c

index 6d2d148261e384496e13d7418575ceeaf984fdf7..c3c556ed1bd774a100c11929f859832836a67ea4 100644 (file)
@@ -363,6 +363,7 @@ AC_CHECK_HEADERS(m4_normalize([
        inttypes.h
        linux/bsg.h
        linux/falloc.h
+       linux/fiemap.h
        linux/filter.h
        linux/hiddev.h
        linux/ip_vs.h
index c803576e9badb99bc4f1d692b496d6a24d1419b5..00391fee0a3b156d7b10ba5a41516b5ed00ab164 100644 (file)
 #include "defs.h"
 #include <sys/ioctl.h>
 #include <linux/fs.h>
-#include <linux/fiemap.h>
 
-#include "xlat/fiemap_flags.h"
-#include "xlat/fiemap_extent_flags.h"
+#ifdef HAVE_LINUX_FIEMAP_H
+# include <linux/fiemap.h>
+# include "xlat/fiemap_flags.h"
+# include "xlat/fiemap_extent_flags.h"
+#endif
 
 #ifndef FICLONE
 #define FICLONE         _IOW(0x94, 9, int)
@@ -159,6 +161,7 @@ file_ioctl(struct tcb *tcp, const unsigned int code, const long arg)
                break;
        }
 
+#ifdef HAVE_LINUX_FIEMAP_H
        case FS_IOC_FIEMAP: {
                struct fiemap args;
                struct fiemap_extent fe;
@@ -221,6 +224,7 @@ file_ioctl(struct tcb *tcp, const unsigned int code, const long arg)
                tprints("]}");
                break;
        }
+#endif /* HAVE_LINUX_FIEMAP_H */
 
        default:
                return RVAL_DECODED;