block-6.10-20240607

-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmZjEZoQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpjVzEADCWIoHaw+egjkngKteauq4hRhnLzte3CdQ
 A+CTxNa+rhByJzk+XMCDj9ld89tNM1k6Bor0EN6QDG6mznHjrc6OZ0hK5zRx/Ros
 PA3dlwf5KYVvfqDLYwBt+1bvwg8kDhW7Qr4jsVSac+PuMI6GLKxrIUu6k/+fVaYK
 tSaBPEaNHtkGNC+QAbIEFeJxBmoKuZkqjaXia+RRP8/iBCkpdtSzE3LV2Q+dkNmj
 JPfPGgk9s35y357bTCBLQR4qAB3e7pGifBcQ2EzXeSClmd6PecK8WfZyKtlGB19x
 ieDTxbwHzJ6njfjrs31hYRUznIrJqZfRzdHAcpMV3EULiqU09EVtofTh4QcNfL5N
 Wo1BfU2TLZoNoTZaaN9b1qsGG3wOwAj+Eb4oue89elWJb60QoSSxL1T5u7VRL9W8
 Q3t3abavnDVeEq3kuJ1TRPkkD92pFrrAZ0S7suQ0+FXf3Vt9P12sC0gUDOFoveER
 J9quzuaD4nMbP9SBtIffLxKuvtsZB1uvkizrg7VwnLLsc25Lo8ky+UZ3lT2AX/p7
 l2oFjdLMnAloDaKWmcAdVYuOVY8zu4E+BOVYqQR+URQvkpcDSWcfj1Aj4ntoBRhQ
 Ky/0HoCpAUGU9rTSxnSVXKycbda0GUzFSnn1DH5aHdexo9W9bapsD0HbuLyRUoup
 WLU7jPXNEA==
 =aDiO
 -----END PGP SIGNATURE-----

Merge tag 'block-6.10-20240607' of git://git.kernel.dk/linux

Pull block fixes from Jens Axboe:

 - Fix for null_blk block size validation (Andreas)

 - NVMe pull request via Keith:
      - Use reserved tags for special fabrics operations (Chunguang)
      - Persistent Reservation status masking fix (Weiwen)

* tag 'block-6.10-20240607' of git://git.kernel.dk/linux:
  null_blk: fix validation of block size
  nvme: fix nvme_pr_* status code parsing
  nvme-fabrics: use reserved tag for reg read/write command
This commit is contained in:
Linus Torvalds 2024-06-07 16:45:48 -07:00
commit 602079a0a1
3 changed files with 6 additions and 6 deletions

View File

@ -1824,8 +1824,8 @@ static int null_validate_conf(struct nullb_device *dev)
dev->queue_mode = NULL_Q_MQ; dev->queue_mode = NULL_Q_MQ;
} }
dev->blocksize = round_down(dev->blocksize, 512); if (blk_validate_block_size(dev->blocksize))
dev->blocksize = clamp_t(unsigned int, dev->blocksize, 512, 4096); return -EINVAL;
if (dev->use_per_node_hctx) { if (dev->use_per_node_hctx) {
if (dev->submit_queues != nr_online_nodes) if (dev->submit_queues != nr_online_nodes)

View File

@ -180,7 +180,7 @@ int nvmf_reg_read32(struct nvme_ctrl *ctrl, u32 off, u32 *val)
cmd.prop_get.offset = cpu_to_le32(off); cmd.prop_get.offset = cpu_to_le32(off);
ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, &res, NULL, 0, ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, &res, NULL, 0,
NVME_QID_ANY, 0); NVME_QID_ANY, NVME_SUBMIT_RESERVED);
if (ret >= 0) if (ret >= 0)
*val = le64_to_cpu(res.u64); *val = le64_to_cpu(res.u64);
@ -226,7 +226,7 @@ int nvmf_reg_read64(struct nvme_ctrl *ctrl, u32 off, u64 *val)
cmd.prop_get.offset = cpu_to_le32(off); cmd.prop_get.offset = cpu_to_le32(off);
ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, &res, NULL, 0, ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, &res, NULL, 0,
NVME_QID_ANY, 0); NVME_QID_ANY, NVME_SUBMIT_RESERVED);
if (ret >= 0) if (ret >= 0)
*val = le64_to_cpu(res.u64); *val = le64_to_cpu(res.u64);
@ -271,7 +271,7 @@ int nvmf_reg_write32(struct nvme_ctrl *ctrl, u32 off, u32 val)
cmd.prop_set.value = cpu_to_le64(val); cmd.prop_set.value = cpu_to_le64(val);
ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, NULL, NULL, 0, ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, NULL, NULL, 0,
NVME_QID_ANY, 0); NVME_QID_ANY, NVME_SUBMIT_RESERVED);
if (unlikely(ret)) if (unlikely(ret))
dev_err(ctrl->device, dev_err(ctrl->device,
"Property Set error: %d, offset %#x\n", "Property Set error: %d, offset %#x\n",

View File

@ -77,7 +77,7 @@ static int nvme_sc_to_pr_err(int nvme_sc)
if (nvme_is_path_error(nvme_sc)) if (nvme_is_path_error(nvme_sc))
return PR_STS_PATH_FAILED; return PR_STS_PATH_FAILED;
switch (nvme_sc) { switch (nvme_sc & 0x7ff) {
case NVME_SC_SUCCESS: case NVME_SC_SUCCESS:
return PR_STS_SUCCESS; return PR_STS_SUCCESS;
case NVME_SC_RESERVATION_CONFLICT: case NVME_SC_RESERVATION_CONFLICT: