X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=iolog.h;h=6f027ca8d4ca1facc58618a0ad65545df6f12edd;hp=b1c13bf7e16b7230c11a9c9dd3c459236a5bef05;hb=155f2f027b34321f6f5abe79c09ece8ecca25046;hpb=3a5db9201bf7b1717f63cb8f7dbd025903117f70;ds=sidebyside diff --git a/iolog.h b/iolog.h index b1c13bf7..6f027ca8 100644 --- a/iolog.h +++ b/iolog.h @@ -122,7 +122,8 @@ static inline size_t log_entry_sz(struct io_log *log) static inline struct io_sample *__get_sample(void *samples, int log_offset, uint64_t sample) { - return samples + sample * __log_entry_sz(log_offset); + uint64_t sample_offset = sample * __log_entry_sz(log_offset); + return (struct io_sample *) ((char *) samples + sample_offset); } static inline struct io_sample *get_sample(struct io_log *iolog, @@ -183,6 +184,8 @@ extern void trim_io_piece(struct thread_data *, const struct io_u *); extern void queue_io_piece(struct thread_data *, struct io_piece *); extern void prune_io_piece_log(struct thread_data *); extern void write_iolog_close(struct thread_data *); +extern int iolog_compress_init(struct thread_data *); +extern void iolog_compress_exit(struct thread_data *); #ifdef CONFIG_ZLIB extern int iolog_file_inflate(const char *); @@ -202,24 +205,9 @@ struct log_params { }; extern void finalize_logs(struct thread_data *td); -extern void add_lat_sample(struct thread_data *, enum fio_ddir, unsigned long, - unsigned int, uint64_t); -extern void add_clat_sample(struct thread_data *, enum fio_ddir, unsigned long, - unsigned int, uint64_t); -extern void add_slat_sample(struct thread_data *, enum fio_ddir, unsigned long, - unsigned int, uint64_t); -extern void add_bw_sample(struct thread_data *, enum fio_ddir, unsigned int, - struct timeval *); -extern void add_iops_sample(struct thread_data *, enum fio_ddir, unsigned int, - struct timeval *); -extern void init_disk_util(struct thread_data *); -extern void update_rusage_stat(struct thread_data *); extern void setup_log(struct io_log **, struct log_params *, const char *); extern void flush_log(struct io_log *, int); extern void free_log(struct io_log *); -extern struct io_log *agg_io_log[DDIR_RWDIR_CNT]; -extern int write_bw_log; -extern void add_agg_sample(unsigned long, enum fio_ddir, unsigned int); extern void fio_writeout_logs(struct thread_data *); extern int iolog_flush(struct io_log *, int);