#include "hash.h"
#include "lib/axmap.h"
-#ifdef FIO_HAVE_LINUX_FALLOCATE
+#ifdef CONFIG_LINUX_FALLOCATE
#include <linux/falloc.h>
#endif
return 1;
}
-#ifdef FIO_HAVE_FALLOCATE
+#ifdef CONFIG_POSIX_FALLOCATE
if (!td->o.fill_device) {
switch (td->o.fallocate_mode) {
case FIO_FALLOCATE_NONE:
break;
case FIO_FALLOCATE_POSIX:
dprint(FD_FILE, "posix_fallocate file %s size %llu\n",
- f->file_name, f->real_file_size);
+ f->file_name,
+ (unsigned long long) f->real_file_size);
r = posix_fallocate(f->fd, 0, f->real_file_size);
if (r > 0) {
strerror(r));
}
break;
-#ifdef FIO_HAVE_LINUX_FALLOCATE
+#ifdef CONFIG_LINUX_FALLOCATE
case FIO_FALLOCATE_KEEP_SIZE:
dprint(FD_FILE,
"fallocate(FALLOC_FL_KEEP_SIZE) "
- "file %s size %llu\n",
- f->file_name, f->real_file_size);
+ "file %s size %llu\n", f->file_name,
+ (unsigned long long) f->real_file_size);
r = fallocate(f->fd, FALLOC_FL_KEEP_SIZE, 0,
f->real_file_size);
td_verror(td, errno, "fallocate");
}
break;
-#endif /* FIO_HAVE_LINUX_FALLOCATE */
+#endif /* CONFIG_LINUX_FALLOCATE */
default:
log_err("fio: unknown fallocate mode: %d\n",
td->o.fallocate_mode);
assert(0);
}
}
-#endif /* FIO_HAVE_FALLOCATE */
+#endif /* CONFIG_POSIX_FALLOCATE */
if (!new_layout)
goto done;
*/
if (!td->o.fill_device) {
dprint(FD_FILE, "truncate file %s, size %llu\n", f->file_name,
- f->real_file_size);
+ (unsigned long long) f->real_file_size);
if (ftruncate(f->fd, f->real_file_size) == -1) {
td_verror(td, errno, "ftruncate");
goto err;
if (__e == EMFILE && file_close_shadow_fds(td))
goto open_again;
- snprintf(buf, sizeof(buf) - 1, "open(%s)", f->file_name);
+ snprintf(buf, sizeof(buf), "open(%s)", f->file_name);
if (__e == EINVAL && (flags & OS_O_DIRECT)) {
log_err("fio: looks like your file system does not " \
for_each_file(td, f, i) {
uint64_t file_size = min(f->real_file_size, f->io_size);
- blocks = (file_size + td->o.rw_min_bs - 1) /
- (unsigned long long) td->o.rw_min_bs;
+ blocks = file_size / (unsigned long long) td->o.rw_min_bs;
+
if (td->o.random_generator == FIO_RAND_GEN_LFSR) {
unsigned long seed;
seed = td->rand_seeds[FIO_RAND_BLOCK_OFF];
- if (!lfsr_init(&f->lfsr, blocks, seed))
+ if (!lfsr_init(&f->lfsr, blocks, seed, seed & 0xF))
continue;
} else if (!td->o.norandommap) {
f->io_axmap = axmap_new(blocks);
if (!D) {
char buf[FIO_VERROR_SIZE];
- snprintf(buf, FIO_VERROR_SIZE - 1, "opendir(%s)", dirname);
+ snprintf(buf, FIO_VERROR_SIZE, "opendir(%s)", dirname);
td_verror(td, errno, buf);
return 1;
}