fix net engine client read server write bug
[fio.git] / engines / binject.c
index 58901b6f8674b5238e133879620ec00811fdf751..47d40fefbb3f6d8fd0a2037d22da60a5f21cbdfb 100644 (file)
@@ -146,7 +146,7 @@ static int fio_binject_getevents(struct thread_data *td, unsigned int min,
                for (i = 0; i < events; i++) {
                        struct b_user_cmd *buc = (struct b_user_cmd *) buf + i;
 
-                       bd->events[ev_index] = (struct io_u *) buc->usr_ptr;
+                       bd->events[ev_index] = (struct io_u *) (unsigned long) buc->usr_ptr;
                        ev_index++;
                }
        }
@@ -260,7 +260,7 @@ static void binject_unmap_dev(struct thread_data *td, struct binject_file *bf)
 
        bic.minor = bf->minor;
 
-       if (ioctl(fdb, 1, &bic) < 0)
+       if (ioctl(fdb, B_IOCTL_DEL, &bic) < 0)
                td_verror(td, errno, "binject dev unmap");
 
        close(fdb);
@@ -280,7 +280,7 @@ static int binject_map_dev(struct thread_data *td, struct binject_file *bf,
 
        bic.fd = fd;
 
-       if (ioctl(fdb, 0, &bic) < 0) {
+       if (ioctl(fdb, B_IOCTL_ADD, &bic) < 0) {
                td_verror(td, errno, "binject dev map");
                close(fdb);
                return 1;
@@ -416,7 +416,7 @@ static struct ioengine_ops ioengine = {
        .open_file      = fio_binject_open_file,
        .close_file     = fio_binject_close_file,
        .get_file_size  = generic_get_file_size,
-       .flags          = FIO_RAWIO | FIO_BARRIER,
+       .flags          = FIO_RAWIO | FIO_BARRIER | FIO_MEMALIGN,
 };
 
 #else /* FIO_HAVE_BINJECT */