The following changes since commit 6d68b99712c112fde6dedda6e6e24af3e9552d0e: Fix typo (READ/DDIR_READ). (2013-01-13 18:32:09 +0100) are available in the git repository at: git://git.kernel.dk/fio.git master Jens Axboe (3): configure: use exit 0 instead of just exit fusion-aw: fixes fusion-aw: make configure and compile actually work configure | 7 ++++--- engines/fusion-aw.c | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) --- Diff of recent changes: diff --git a/configure b/configure index 1ab2c7a..08c8bd2 100755 --- a/configure +++ b/configure @@ -117,7 +117,7 @@ elif test `uname -o` = Cygwin ; then echo "CONFIG_POSIX_FALLOCATE=y" >> $config_host_mak echo "CONFIG_FADVISE=y" >> $config_host_mak echo "CONFIG_SFAA=y" >> $config_host_mak - exit + exit 0 elif check_define __OpenBSD__ ; then targetos='OpenBSD' elif check_define __sun__ ; then @@ -643,14 +643,15 @@ echo "GUASI $guasi" # fusion-aw probe fusion_aw="no" cat > $TMPC << EOF -#include <vsl_dp_experimental/vectored_write.h> +#include <nvm/vectored_write.h> int main(int argc, char **argv) { struct vsl_iovec iov; return vsl_vectored_write(0, &iov, 0, O_ATOMIC); } EOF -if compile_prog "" "" "fusion-aw"; then +if compile_prog "" "-L/usr/lib/fio -lnvm-primitives" "fusion-aw"; then + LIBS="-L/usr/lib/fio -lnvm-primitives $LIBS" fusion_aw="yes" fi echo "Fusion-io atomic engine $fusion_aw" diff --git a/engines/fusion-aw.c b/engines/fusion-aw.c index 4213592..0bc5c0b 100644 --- a/engines/fusion-aw.c +++ b/engines/fusion-aw.c @@ -22,14 +22,14 @@ #include "../fio.h" -#include <vsl_dp_experimental/vectored_write.h> +#include <nvm/vectored_write.h> /* Fix sector size to 512 bytes independent of actual sector size, just like * the linux kernel. */ #define SECTOR_SHIFT 9 #define SECTOR_SIZE (1U<<SECTOR_SHIFT) -struct acs_file_data { +struct acs_engine_data { struct vsl_iovec iov[IO_VECTOR_LIMIT]; }; @@ -40,7 +40,8 @@ static int queue(struct thread_data *td, struct io_u *io_u) off_t offset; char *xfer_buf; size_t xfer_buflen; - struct acs_file_data *d = io_u->file->file_data; + struct acs_engine_data *d = + (struct acs_engine_data *) io_u->file->engine_data; if (io_u->ddir != DDIR_WRITE) { td_vmsg(td, -EIO, "only writes supported", "io_u->ddir"); @@ -99,7 +100,7 @@ out: static int open_file(struct thread_data *td, struct fio_file *f) { int rc; - struct acs_file_data *d = NULL; + struct acs_engine_data *d = NULL; d = malloc(sizeof(*d)); if (!d) { @@ -107,7 +108,7 @@ static int open_file(struct thread_data *td, struct fio_file *f) rc = -ENOMEM; goto error; } - f->file_data = d; + f->engine_data = (uintptr_t) d; rc = generic_open_file(td, f); @@ -116,7 +117,7 @@ out: error: f->fd = -1; - f->file_data = NULL; + f->engine_data = 0; if (d) free(d); @@ -125,9 +126,9 @@ error: static int close_file(struct thread_data *td, struct fio_file *f) { - if (f->file_data) { - free(f->file_data); - f->file_data = NULL; + if (f->engine_data) { + free((void *) f->engine_data); + f->engine_data = 0; } return generic_close_file(td, f); -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html