The sectors with data accounting values are no longer used by the helper functions zbd_adjust_ddir() and zbd_adjust_block(). Remove the code related to this accounting. Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@xxxxxxx> --- zbd.c | 73 +---------------------------------------------------------- zbd.h | 5 ---- 2 files changed, 1 insertion(+), 77 deletions(-) diff --git a/zbd.c b/zbd.c index 8de909b7..7d19a214 100644 --- a/zbd.c +++ b/zbd.c @@ -286,8 +286,6 @@ static int zbd_reset_zone(struct thread_data *td, struct fio_file *f, } pthread_mutex_lock(&f->zbd_info->mutex); - f->zbd_info->sectors_with_data -= data_in_zone; - f->zbd_info->wp_sectors_with_data -= data_in_zone; f->zbd_info->wp_zones_written_size -= data_in_zone; pthread_mutex_unlock(&f->zbd_info->mutex); @@ -1196,68 +1194,9 @@ static bool zbd_dec_and_reset_write_cnt(const struct thread_data *td, return write_cnt == 0; } -enum swd_action { - CHECK_SWD, - SET_SWD, -}; - -/* Calculate the number of sectors with data (swd) and perform action 'a' */ -static uint64_t zbd_process_swd(struct thread_data *td, - const struct fio_file *f, enum swd_action a) -{ - struct fio_zone_info *zb, *ze, *z; - uint64_t swd = 0; - uint64_t wp_swd = 0; - - zb = zbd_get_zone(f, f->min_zone); - ze = zbd_get_zone(f, f->max_zone); - for (z = zb; z < ze; z++) { - if (z->has_wp) { - zone_lock(td, f, z); - wp_swd += z->wp - z->start; - } - swd += z->wp - z->start; - } - - pthread_mutex_lock(&f->zbd_info->mutex); - switch (a) { - case CHECK_SWD: - assert(f->zbd_info->sectors_with_data == swd); - assert(f->zbd_info->wp_sectors_with_data == wp_swd); - break; - case SET_SWD: - f->zbd_info->sectors_with_data = swd; - f->zbd_info->wp_sectors_with_data = wp_swd; - break; - } - pthread_mutex_unlock(&f->zbd_info->mutex); - - for (z = zb; z < ze; z++) - if (z->has_wp) - zone_unlock(z); - - return swd; -} - -/* - * The swd check is useful for debugging but takes too much time to leave - * it enabled all the time. Hence it is disabled by default. - */ -static const bool enable_check_swd = false; - -/* Check whether the values of zbd_info.*sectors_with_data are correct. */ -static void zbd_check_swd(struct thread_data *td, const struct fio_file *f) -{ - if (!enable_check_swd) - return; - - zbd_process_swd(td, f, CHECK_SWD); -} - void zbd_file_reset(struct thread_data *td, struct fio_file *f) { struct fio_zone_info *zb, *ze; - uint64_t swd; bool verify_data_left = false; if (!f->zbd_info || !td_write(td)) @@ -1265,10 +1204,6 @@ void zbd_file_reset(struct thread_data *td, struct fio_file *f) zb = zbd_get_zone(f, f->min_zone); ze = zbd_get_zone(f, f->max_zone); - swd = zbd_process_swd(td, f, SET_SWD); - - dprint(FD_ZBD, "%s(%s): swd = %" PRIu64 "\n", - __func__, f->file_name, swd); /* * If data verification is enabled reset the affected zones before @@ -1645,11 +1580,8 @@ static void zbd_queue_io(struct thread_data *td, struct io_u *io_u, int q, * have occurred. */ pthread_mutex_lock(&zbd_info->mutex); - if (z->wp <= zone_end) { - zbd_info->sectors_with_data += zone_end - z->wp; - zbd_info->wp_sectors_with_data += zone_end - z->wp; + if (z->wp <= zone_end) zbd_info->wp_zones_written_size += zone_end - z->wp; - } pthread_mutex_unlock(&zbd_info->mutex); z->wp = zone_end; break; @@ -1690,7 +1622,6 @@ static void zbd_put_io(struct thread_data *td, const struct io_u *io_u) zbd_end_zone_io(td, io_u, z); zone_unlock(z); - zbd_check_swd(td, f); } /* @@ -1879,8 +1810,6 @@ enum io_u_action zbd_adjust_block(struct thread_data *td, struct io_u *io_u) io_u->ddir == DDIR_READ && td->o.read_beyond_wp) return io_u_accept; - zbd_check_swd(td, f); - zone_lock(td, f, zb); switch (io_u->ddir) { diff --git a/zbd.h b/zbd.h index 161dd5e0..534338bc 100644 --- a/zbd.h +++ b/zbd.h @@ -54,9 +54,6 @@ struct fio_zone_info { * @mutex: Protects the modifiable members in this structure (refcount and * num_open_zones). * @zone_size: size of a single zone in bytes. - * @sectors_with_data: total size of data in all zones in units of 512 bytes - * @wp_sectors_with_data: total size of data in zones with write pointers in - * units of 512 bytes * @zone_size_log2: log2 of the zone size in bytes if it is a power of 2 or 0 * if the zone size is not a power of 2. * @nr_zones: number of zones @@ -79,8 +76,6 @@ struct zoned_block_device_info { uint32_t max_open_zones; pthread_mutex_t mutex; uint64_t zone_size; - uint64_t sectors_with_data; - uint64_t wp_sectors_with_data; uint32_t zone_size_log2; uint32_t nr_zones; uint32_t refcount; -- 2.38.1