file: unionize lfsr/randommap
We only use one of them, add file flags to distinguish between the
two.
Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/filesetup.c b/filesetup.c
index c026048..0fb5589 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -1044,12 +1044,16 @@
seed = td->rand_seeds[FIO_RAND_BLOCK_OFF];
- if (!lfsr_init(&f->lfsr, blocks, seed, 0))
+ if (!lfsr_init(&f->lfsr, blocks, seed, 0)) {
+ fio_file_set_lfsr(f);
continue;
+ }
} else if (!td->o.norandommap) {
f->io_axmap = axmap_new(blocks);
- if (f->io_axmap)
+ if (f->io_axmap) {
+ fio_file_set_axmap(f);
continue;
+ }
} else if (td->o.norandommap)
continue;
@@ -1104,8 +1108,10 @@
sfree(f->file_name);
f->file_name = NULL;
- axmap_free(f->io_axmap);
- f->io_axmap = NULL;
+ if (fio_file_axmap(f)) {
+ axmap_free(f->io_axmap);
+ f->io_axmap = NULL;
+ }
sfree(f);
}
@@ -1537,9 +1543,9 @@
f->last_start[i] = -1ULL;
}
- if (f->io_axmap)
+ if (fio_file_axmap(f))
axmap_reset(f->io_axmap);
- if (td->o.random_generator == FIO_RAND_GEN_LFSR)
+ else if (fio_file_lfsr(f))
lfsr_reset(&f->lfsr, td->rand_seeds[FIO_RAND_BLOCK_OFF]);
}