qemu-devel
[Top][All Lists]
Advanced

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

Incorrect NVMe DLFEAT?


From: Harris, James R
Subject: Incorrect NVMe DLFEAT?
Date: Thu, 29 Apr 2021 16:51:29 +0000
User-agent: Microsoft-MacOutlook/16.48.21041102

Hi,

 

I’m seeing SPDK test failures with QEMU NVMe controllers that I’ve bisected to QEMU commit 2605257a26 (“hw/block/nvme: add the dataset management command”).

 

The failing tests are related to write zeroes handling.  If an NVMe controller supports DSM, and DLFEAT indicates that deallocated blocks will read back as zeroes, then SPDK uses DEALLOCATE to implement the write zeroes operation.  (Note: SPDK prefers this method to using NVMe WRITE_ZEROES, since the latter is limited to a 16-bit block count.)

 

QEMU sets DLFEAT = 0x9 – and actually set it to 0x9 even before this commit.  Since the lower 3 bits are 0b001, it is reporting that deallocated blocks will read back later as 0.  This does not actually seem to be the case however – reading previously deallocated blocks do not actually return 0s.

 

It seems DLFEAT is being set incorrectly here – should probably be 0x8 instead?

 

Thanks,

 

Jim

 

 

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]