lib/ftl: use scatter/gather write commands
This will allow the requests to be built from non-consecutive write buffer entries. Change-Id: Ifbb26c47ea1f3175e6529dba4b89350de92efe8e Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/899 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Maciej Szczepaniak <maciej.szczepaniak@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
f4e42560b4
commit
acc88da2c5
@ -1592,14 +1592,13 @@ ftl_submit_child_write(struct ftl_wptr *wptr, struct ftl_io *io)
|
||||
wptr->num_outstanding++;
|
||||
|
||||
if (ftl_is_append_supported(dev)) {
|
||||
rc = spdk_bdev_zone_append(dev->base_bdev_desc, ioch->base_ioch,
|
||||
ftl_io_iovec_addr(child),
|
||||
rc = spdk_bdev_zone_appendv(dev->base_bdev_desc, ioch->base_ioch,
|
||||
child->iov, child->iov_cnt,
|
||||
ftl_addr_get_zone_slba(dev, addr),
|
||||
dev->xfer_size, ftl_io_cmpl_cb, child);
|
||||
} else {
|
||||
rc = spdk_bdev_write_blocks(dev->base_bdev_desc, ioch->base_ioch,
|
||||
ftl_io_iovec_addr(child),
|
||||
addr.offset,
|
||||
rc = spdk_bdev_writev_blocks(dev->base_bdev_desc, ioch->base_ioch,
|
||||
child->iov, child->iov_cnt, addr.offset,
|
||||
dev->xfer_size, ftl_io_cmpl_cb, child);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user