os/os-dragonfly: sync with header file changes in upstream
authorTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Tue, 10 Apr 2018 15:35:32 +0000 (00:35 +0900)
committerJens Axboe <axboe@kernel.dk>
Tue, 10 Apr 2018 15:17:22 +0000 (09:17 -0600)
IOCTLTRIM was moved and renamed to a different header file,
so conditionally include previous or current header depending on
__DragonFly_version.

Some details in below commit messages.
In short, they have had IOCTLTRIM in a wrong header, and they
decided to fix/change it since fio was the only application using
IOCTLTRIM within their userspace package collections.

<sys/ioctl_compat.h>: Add a reminder comment about IOCTLTRIM.
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/7226e3530be4df743a5cfe61f602b0c4bd436ee9

Move the IOCTLTRIM ioctl to a better header and rename it to DAIOCTRIM.
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/32506cfa691f80faa47486d6f94a98ae12387eeb

Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
os/os-dragonfly.h

index 713046f53543442a89d21c55ace2cbcd05839d4b..e80ad8cd906ea72b4bde0b66b7bc7f2a462487ba 100644 (file)
 #include <sys/sysctl.h>
 #include <sys/statvfs.h>
 #include <sys/diskslice.h>
-#include <sys/ioctl_compat.h>
 #include <sys/usched.h>
 #include <sys/resource.h>
 
+/* API changed during "5.3 development" */
+#if __DragonFly_version < 500302
+#include <sys/ioctl_compat.h>
+#define DAIOCTRIM      IOCTLTRIM
+#else
+#include <bus/cam/scsi/scsi_daio.h>
+#endif
+
 #include "../file.h"
 #include "../lib/types.h"
 
@@ -222,7 +229,7 @@ static inline int os_trim(struct fio_file *f, unsigned long long start,
        range[0] = start;
        range[1] = len;
 
-       if (!ioctl(f->fd, IOCTLTRIM, range))
+       if (!ioctl(f->fd, DAIOCTRIM, range))
                return 0;
 
        return errno;