[PATCH 0/3] fix max open zones handling when using multiple jobs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Niklas Cassel <niklas.cassel@xxxxxxx>

Currently, the fio handling of max open zones is very fragile.

zbd_open_zone() uses zbd_info->max_open_zones when checking
the max open zones limit, while zbd_convert_to_open_zone()
uses td->o.max_open_zones when performing the same limit check.

It is simply wrong to use td->o.max_open_zones after zbd_setup_files().

Change zbd_convert_to_open_zone() to use zbd_info->max_open_zones.
This way, the global max open zones limit (which is per device) will be
respected for all jobs.

This series also adds a patch that reintroduces the ability to
run write workloads with no limit on the maximum number of open zones.
In this case, tracking of open zones in the zbd_info->open_zones array
is disabled to reduce overhead.


Niklas Cassel (3):
  zbd: create a local zbdi variable for f->zbd_info
  zbd: allow an unlimited global max open zones limit
  zbd: ensure that global max open zones limit is respected

 zbd.c | 111 +++++++++++++++++++++++++++++++++++++---------------------
 zbd.h |   3 +-
 2 files changed, 73 insertions(+), 41 deletions(-)

-- 
2.25.1




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux