ioengines: don't call munmap unless size boundary is exceeded
[fio.git] / os / os-linux.h
index e7d600dd58cbb3f6ffd1e43f5516fdd6fc0bd18a..894dc850904f0717d745ac61ce2805e349aff210 100644 (file)
@@ -71,7 +71,7 @@ typedef struct drand48_data os_random_state_t;
 
 #define fio_cpu_clear(mask, cpu)       (void) CPU_CLR((cpu), (mask))
 #define fio_cpu_set(mask, cpu)         (void) CPU_SET((cpu), (mask))
-#define fio_cpu_isset(mask, cpu)       CPU_ISSET((cpu), (mask))
+#define fio_cpu_isset(mask, cpu)       (CPU_ISSET((cpu), (mask)) != 0)
 #define fio_cpu_count(mask)            CPU_COUNT((mask))
 
 static inline int fio_cpuset_init(os_cpu_mask_t *mask)
@@ -281,7 +281,7 @@ static inline unsigned long long get_fs_free_size(const char *path)
        return ret;
 }
 
-static inline int os_trim(int fd, unsigned long long start,
+static inline int os_trim(struct fio_file *f, unsigned long long start,
                          unsigned long long len)
 {
        uint64_t range[2];
@@ -289,7 +289,7 @@ static inline int os_trim(int fd, unsigned long long start,
        range[0] = start;
        range[1] = len;
 
-       if (!ioctl(fd, BLKDISCARD, range))
+       if (!ioctl(f->fd, BLKDISCARD, range))
                return 0;
 
        return errno;