t/dedupe: fix init of all thread variables
[fio.git] / t / dedupe.c
index 0a033a4c91e48e77b6a0790b0cf5c45bee4d6134..5b88fcb8961ad6904b096c29082534ec59228cc3 100644 (file)
@@ -11,7 +11,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/ioctl.h>
-#include <linux/fs.h>
 #include <fcntl.h>
 #include <string.h>
 
@@ -295,8 +294,7 @@ static int do_work(struct worker_thread *thread, void *buf)
        for (i = 0; i < nblocks; i++) {
                void *thisptr = buf + (i * blocksize);
 
-               if (items)
-                       items[i].offset = offset;
+               items[i].offset = offset;
                crc_buf(thisptr, items[i].hash);
                offset += blocksize;
                nitems++;
@@ -389,10 +387,8 @@ static int run_dedupe_threads(struct fio_file *f, uint64_t dev_size,
 
        threads = malloc(num_threads * sizeof(struct worker_thread));
        for (i = 0; i < num_threads; i++) {
+               memset(&threads[i], 0, sizeof(struct worker_thread));
                threads[i].fd = f->fd;
-               threads[i].items = 0;
-               threads[i].err = 0;
-               threads[i].done = 0;
 
                err = pthread_create(&threads[i].thread, NULL, thread_fn, &threads[i]);
                if (err) {
@@ -432,7 +428,7 @@ static int dedupe_check(const char *filename, uint64_t *nextents,
 
        flags = O_RDONLY;
        if (odirect)
-               flags |= O_DIRECT;
+               flags |= OS_O_DIRECT;
 
        memset(&file, 0, sizeof(file));
        file.file_name = strdup(filename);