Firstly, change unmap suppor and I/O size checks to do once per
bdev. It is enough to check if unmap is supported and check if
I/O size is multiple of data block size once per bdev. Hence move
these checks from bdevperf_construct_target() to
_bdevperf_construct_targets().
Secondly, use calloc() to remove unnecessary zeroings in
bdevperf_construct_target().
Thirdly, factor out getting next io_target_group from
bdevperf_construct_target(). This is a preparation to make
bdevperf_construct_target() asynchronous by using
spdk_for_each_channel().
These may be better to break-up but these are already included in
the long patch series. So to reduce the burden of reviewers,
squash these into a single patch.
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I2cb94c8aa2b6b1a1b9e9a04da533e1fd093f8f29
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/640
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>