linux/drivers/nvme/host
Keith Busch 012c045d61 nvme: fix discard support without oncs
[ Upstream commit d3205ab75e ]

The device can report discard support without setting the ONCS DSM bit.
When not set, the driver clears max_discard_size expecting it to be set
later. We don't know the size until we have the namespace format,
though, so setting it is deferred until configuring one, but the driver
was abandoning the discard settings due to that initial clearing.

Move the max_discard_size calculation above the check for a '0' discard
size.

Fixes: 1a86924e4f ("nvme: fix interpretation of DMRSL")
Reported-by: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Niklas Cassel <niklas.cassel@wdc.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Tested-by: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-04-13 16:55:32 +02:00
..
apple.c nvme-apple: only reset the controller when RTKit is running 2023-02-06 08:06:34 +01:00
auth.c nvme-auth: Diffie-Hellman key exchange support 2022-08-02 17:14:49 -06:00
constants.c nvme-pci: print the command name of aborted commands 2022-08-02 17:22:48 -06:00
core.c nvme: fix discard support without oncs 2023-04-13 16:55:32 +02:00
fabrics.c nvme: consider also host_iface when checking ip options 2022-09-19 17:55:24 +02:00
fabrics.h nvme-fabrics: show well known discovery name 2023-03-11 13:55:31 +01:00
fault_inject.c block: remove the ->rq_disk field in struct request 2021-11-29 06:41:29 -07:00
fc.c nvme-fc: fix initialization order 2023-02-01 08:34:43 +01:00
fc.h nvme-fc: Update header and host for common definitions for LS handling 2020-05-09 16:18:33 -06:00
hwmon.c nvme-hwmon: kmalloc the NVME SMART log buffer 2022-10-19 12:43:13 +02:00
ioctl.c block/io_uring: pass in issue_flags for uring_cmd task_work handling 2023-04-06 12:10:51 +02:00
Kconfig nvme-auth: Diffie-Hellman key exchange support 2022-08-02 17:14:49 -06:00
Makefile nvme: don't always build constants.o 2022-08-02 17:22:48 -06:00
multipath.c block: handle bio_split_to_limits() NULL return 2023-01-18 11:58:33 +01:00
nvme.h nvme: consolidate setting the tagset flags 2023-02-01 08:34:43 +01:00
pci.c nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM620 2023-04-06 12:10:40 +02:00
rdma.c nvme-rdma: stop auth work after tearing down queues in error recovery 2023-02-22 12:59:55 +01:00
tcp.c nvme-tcp: don't access released socket during error recovery 2023-03-11 13:55:31 +01:00
trace.c nvme: implement In-Band authentication 2022-08-02 17:14:49 -06:00
trace.h nvme: use command_id instead of req->tag in trace_nvme_complete_rq() 2022-08-02 17:22:46 -06:00
zns.c block: pass a gendisk to blk_queue_max_open_zones and blk_queue_max_active_zones 2022-07-06 06:46:26 -06:00