• Keith Busch's avatar
    nvme: implement non-mdts command limits · 5befc7c2
    Keith Busch authored
    Commands that access LBA contents without a data transfer between the
    host historically have not had a spec defined upper limit. The driver
    set the queue constraints for such commands to the max data transfer
    size just to be safe, but this artificial constraint frequently limits
    devices below their capabilities.
    
    The NVMe Workgroup ratified TP4040 defines how a controller may
    advertise their non-MDTS limits. Use these if provided and default to
    the current constraints if not. Since the Dataset Management command
    limits are defined in logical blocks, but without a namespace to tell us
    the logical block size, the code defaults to the safe 512b size.
    Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    5befc7c2
core.c 125 KB