nvme fixes for Linux 6.3

- fix discard support without oncs (Keith Busch)
 -----BEGIN PGP SIGNATURE-----
 
 iQI/BAABCgApFiEEgdbnc3r/njty3Iq9D55TZVIEUYMFAmQuzzQLHGhjaEBsc3Qu
 ZGUACgkQD55TZVIEUYPRDw//alkZxpAfdZCwyGEGU1oCarqQaf90DrkGc5frusZu
 6Xt30CFVAl8D/XupXbPiEnliVoTtO6amhT/ZtUS5cmGFy2A4Cgkc7wImCyq9DaCr
 cgErFWHH0VORD0tmhzjuJqbVRgfk4qY8mIvSXtt10U4Ppu2Dg9GO4+hlVCPRytAP
 OjF6YLkzm4ddsPPZTmRJPr7lgUraWQmu2WsEt5fbI8To78StUphcFpS5VHh50Gxy
 QOZQLA69w7pvS9dj9JfELBG7uzcXgWuBPtOW5VeGCbYCIhh78H7ZWuGhNIpj0nZY
 bsxBzI7mjeKwBvtIkZ8BSHHBnbGu5oJn+8XvqYk5w77MyQSjsKUGA0LIfdKtcM1R
 lirnF8QeXbCtM0gXwCj7FamwLw/wLZoTbMQbFk5mgh5WzI26QGj8pra53VXB2sAz
 vVNHY0wIouXCFrX0M9EddUlXPNwxkjkDwlyXjz6y7hXHcLwNh0EH0mPLvOb4Czb0
 yxqxqImUs0qQYqNmWkbnRmIDOgak4MJEOyN7WDLP33z9REl49MGq7byyw6/hELYl
 e4f5RfjtpUfNHb0nYRCHs7NVOFN20WTtYmvRtIn8480c4zOeNdM5lHgSlu+cqfYW
 xqeUHZUduPUimqVUZv9kx+hOcDl2lPHmqSZLLlVA2156kUlEJzj/BsF4t9EIMpjx
 sTY=
 =Pk/K
 -----END PGP SIGNATURE-----

Merge tag 'nvme-6.3-2023-04-06' of git://git.infradead.org/nvme into block-6.3

Pull NVMe fix from Christoph:

"nvme fixes for Linux 6.3

 - fix discard support without oncs (Keith Busch)"

* tag 'nvme-6.3-2023-04-06' of git://git.infradead.org/nvme:
  nvme: fix discard support without oncs
This commit is contained in:
Jens Axboe 2023-04-06 08:12:19 -06:00
commit 5b3b9197c2

View File

@ -1674,6 +1674,9 @@ static void nvme_config_discard(struct gendisk *disk, struct nvme_ns *ns)
struct request_queue *queue = disk->queue;
u32 size = queue_logical_block_size(queue);
if (ctrl->dmrsl && ctrl->dmrsl <= nvme_sect_to_lba(ns, UINT_MAX))
ctrl->max_discard_sectors = nvme_lba_to_sect(ns, ctrl->dmrsl);
if (ctrl->max_discard_sectors == 0) {
blk_queue_max_discard_sectors(queue, 0);
return;
@ -1688,9 +1691,6 @@ static void nvme_config_discard(struct gendisk *disk, struct nvme_ns *ns)
if (queue->limits.max_discard_sectors)
return;
if (ctrl->dmrsl && ctrl->dmrsl <= nvme_sect_to_lba(ns, UINT_MAX))
ctrl->max_discard_sectors = nvme_lba_to_sect(ns, ctrl->dmrsl);
blk_queue_max_discard_sectors(queue, ctrl->max_discard_sectors);
blk_queue_max_discard_segments(queue, ctrl->max_discard_segments);