X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=file.h;h=faf65a2a013846fb716f0b80403d6549b90120d2;hb=0551c57127daf6b3773fed9b471b70a0d983ca59;hp=e50c0f9c3fac752455bfbe74701fd86b04b844ad;hpb=9a0ac6c7b69355ea095f06c6b0a08115c946dd61;p=fio.git diff --git a/file.h b/file.h index e50c0f9c..faf65a2a 100644 --- a/file.h +++ b/file.h @@ -33,6 +33,7 @@ enum fio_file_flags { FIO_FILE_partial_mmap = 1 << 6, /* can't do full mmap */ FIO_FILE_axmap = 1 << 7, /* uses axmap */ FIO_FILE_lfsr = 1 << 8, /* lfsr is used */ + FIO_FILE_smalloc = 1 << 9, /* smalloc file/file_name */ }; enum file_lock_mode { @@ -67,6 +68,7 @@ enum fio_fallocate_mode { FIO_FALLOCATE_POSIX = 2, FIO_FALLOCATE_KEEP_SIZE = 3, FIO_FALLOCATE_NATIVE = 4, + FIO_FALLOCATE_TRUNCATE = 5, }; /* @@ -103,6 +105,9 @@ struct fio_file { * Zoned block device information. See also zonemode=zbd. */ struct zoned_block_device_info *zbd_info; + /* zonemode=zbd working area */ + uint32_t min_zone; /* inclusive */ + uint32_t max_zone; /* exclusive */ /* * Track last end and last start of IO for a given data direction @@ -184,6 +189,7 @@ FILE_FLAG_FNS(hashed); FILE_FLAG_FNS(partial_mmap); FILE_FLAG_FNS(axmap); FILE_FLAG_FNS(lfsr); +FILE_FLAG_FNS(smalloc); #undef FILE_FLAG_FNS /* @@ -201,6 +207,7 @@ extern "C" { extern int __must_check generic_open_file(struct thread_data *, struct fio_file *); extern int __must_check generic_close_file(struct thread_data *, struct fio_file *); extern int __must_check generic_get_file_size(struct thread_data *, struct fio_file *); +extern int __must_check generic_prepopulate_file(struct thread_data *, struct fio_file *); #ifdef __cplusplus } #endif @@ -225,5 +232,6 @@ extern void fio_file_reset(struct thread_data *, struct fio_file *); extern bool fio_files_done(struct thread_data *); extern bool exists_and_not_regfile(const char *); extern int fio_set_directio(struct thread_data *, struct fio_file *); +extern void fio_file_free(struct fio_file *); #endif