X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=t%2Fdedupe.c;h=7856da1a14865e2aaa07e9fea3b9580c9ecee4c6;hb=5f9454a2b5007a40f3c9479ce751ca35e0d21d76;hp=0a033a4c91e48e77b6a0790b0cf5c45bee4d6134;hpb=d08a6886fa57f819682f05548d284a079a99e77d;p=fio.git diff --git a/t/dedupe.c b/t/dedupe.c index 0a033a4c..7856da1a 100644 --- a/t/dedupe.c +++ b/t/dedupe.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include @@ -22,7 +21,7 @@ #include "../smalloc.h" #include "../minmax.h" #include "../crc/md5.h" -#include "../memalign.h" +#include "../lib/memalign.h" #include "../os/os.h" #include "../gettime.h" #include "../fio_time.h" @@ -85,7 +84,7 @@ static uint64_t get_size(struct fio_file *f, struct stat *sb) uint64_t ret; if (S_ISBLK(sb->st_mode)) { - unsigned long long bytes; + unsigned long long bytes = 0; if (blockdev_size(f, &bytes)) { log_err("dedupe: failed getting bdev size\n"); @@ -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); @@ -541,6 +537,7 @@ int main(int argc, char *argv[]) uint64_t nextents = 0, nchunks = 0; int c, ret; + arch_init(argv); debug_init(); while ((c = getopt(argc, argv, "b:t:d:o:c:p:B:")) != -1) {