return 1;
}
+ if (!new_layout)
+ goto done;
+
if (ftruncate(f->fd, f->real_file_size) == -1) {
td_verror(td, errno, "ftruncate");
goto err;
}
- if (!new_layout)
- goto done;
-
if (posix_fallocate(f->fd, 0, f->real_file_size) < 0) {
td_verror(td, errno, "posix_fallocate");
goto err;
f->real_file_size) {
if (f->file_offset > f->real_file_size)
goto err_offset;
- f->io_size = f->real_file_size - f->file_offset;
+ if (f->file_offset)
+ f->io_size = f->real_file_size - f->file_offset;
}
} else if (f->real_file_size < td->o.file_size_low ||
f->real_file_size > td->o.file_size_high) {