diff options
| author | Klaus Jensen | 2021-06-17 21:06:49 +0200 |
|---|---|---|
| committer | Klaus Jensen | 2021-06-29 07:16:25 +0200 |
| commit | d7d1474fd85d6c3fce46fa2edd051a6ff3f17cd1 (patch) | |
| tree | 73e83d36e050a2c184814ade2a581ce5e9bb8d42 /include | |
| parent | hw/nvme: add nvme_block_status_all helper (diff) | |
| download | qemu-d7d1474fd85d6c3fce46fa2edd051a6ff3f17cd1.tar.gz qemu-d7d1474fd85d6c3fce46fa2edd051a6ff3f17cd1.tar.xz qemu-d7d1474fd85d6c3fce46fa2edd051a6ff3f17cd1.zip | |
hw/nvme: reimplement dsm to allow cancellation
Prior to this patch, a loop was used to issue multiple "fire and forget"
aios for each range in the command. Without a reference to the aiocb
returned from the blk_aio_pdiscard calls, the aios cannot be canceled.
Fix this by processing the ranges one after another.
As a bonus, this fixes how metadata is cleared (i.e. we only zero it out
if the data was succesfully discarded).
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
