]> git.baikalelectronics.ru Git - kernel.git/commit
NVMe: Create discard zero quirk white list
authorKeith Busch <keith.busch@intel.com>
Fri, 4 Mar 2016 20:15:17 +0000 (13:15 -0700)
committerJens Axboe <axboe@fb.com>
Tue, 8 Mar 2016 15:32:40 +0000 (08:32 -0700)
commit178e77cfa9365f914fca35745da658e32c6bf8fd
treeba47bfb1a2d003b81866879d63881ffb360ee273
parenteaed0fe2d3d107d7738187043bcc36e806f9b0e7
NVMe: Create discard zero quirk white list

The NVMe specification does not require discarded blocks return zeroes on
read, but provides that behavior as a possibility. Some applications more
efficiently use an SSD if reads on discarded blocks were deterministically
zero, based on the "discard_zeroes_data" queue attribute.

There is no specification defined way to determine device behavior on
discarded blocks, so the driver always left the queue setting disabled. We
can only know behavior based on individual device models, so this patch
adds a flag to the NVMe "quirk" list that vendors may set if they know
their controller works that way. The patch also sets the new flag for one
such known device.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Suggested-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/host/core.c
drivers/nvme/host/nvme.h
drivers/nvme/host/pci.c