engines/io_uring_cmd: do not send data buffer for write zeroes
authorVincent Fu <vincent.fu@samsung.com>
Fri, 11 Oct 2024 22:01:26 +0000 (22:01 +0000)
committerVincent Fu <vincent.fu@samsung.com>
Mon, 28 Oct 2024 16:25:15 +0000 (12:25 -0400)
commita191635ad42893a60d0a917b27e97e3fc73f7fee
treef1f05da21a5cbf7cbf7689ec949dd9c73ebda781
parentdfc79b17111251d27f7f5e666242e7a96d8a2835
engines/io_uring_cmd: do not send data buffer for write zeroes

For write zeroes commands, do not send a data bufffer address. If we do
send an address, the driver will try to carry out DMA mapping and
encounter driver mdts limitations which do not apply to write zeroes
commands. This lets us send large write zeroes commands to deallocate
the device with the deac=1.

This is only done for the non-vectored IO case. For the vectored IO
case, the driver requires data buffer addresses to be sent. Regardless
it does not make sense to use vectored IO for write zeroes.

Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
engines/nvme.c