block-6.8-2024-02-16

-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmXPswEQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpqkPD/9z4OJ8XgCQqRfsfnyM/6c55lSSdjspzlF4
 LlPnKqnuB0fyEM9e3+nbCHOEZR/+Vpnbf4WWaZBulMakoBqpCpyktL0YSITmvBDX
 ND/YIngQqOzApzy9srg5e688bdjqq98dn+GNTabJe0V4FVPD7/T2d3kVBYJATSLe
 tm2YYKtwEiUDexZ+za0/GlPM3JqdIdRJeyCNjCulSh32PT3X4w7niWryrekLHC7V
 ED4AzcA+B4kyR/hEsZbyoh/+Yy18P354PucHT7OaF5sdCqC/8u3rtd8d0nw4Zcn5
 4bxGhhWI93h8YQk33yEzw87d+YA5nGGEokyzHK/4BtlUUkFdMoUH+L2WuG/+vJr5
 8a86w+9K0n8EPoOtmL+8u/NJ0xYoQjVdRkrDNAYDy8LC/gxrVXLb71mv+OiL25hi
 RWAW1pRmifIX2Ug1xqUmDH1yODHc7n5mOvPGbwKU28eMkCZXMaYKroFREDV9UTDY
 bm4Wm0TrIMdB8HVy6q2ruawebz5vmCyo33h7zp8IMuOgko6aDFYIhiB15cA3bia9
 1wTgHfLmxeALb/tH5y7qzlhQ1LyXqcqarHDV3QTmQlVp3sDAQ+Z111f/3zzwGTXH
 KTiKkt/PEHY002emVx5oC18DEnXvjrzSBzP3AUsL6ntgdFb2mtOGQGTDViAgY6ku
 noU2cIdamA==
 =PP58
 -----END PGP SIGNATURE-----

Merge tag 'block-6.8-2024-02-16' of git://git.kernel.dk/linux

Pull block fixes from Jens Axboe:
 "Just an nvme pull request via Keith:

   - Fabrics connection error handling (Chaitanya)

   - Use relaxed effects to reduce unnecessary queue freezes (Keith)"

* tag 'block-6.8-2024-02-16' of git://git.kernel.dk/linux:
  nvmet: remove superfluous initialization
  nvme: implement support for relaxed effects
  nvme-fabrics: fix I/O connect error handling
This commit is contained in:
Linus Torvalds 2024-02-16 13:55:02 -08:00
commit 7edfe0aaa6
4 changed files with 8 additions and 2 deletions

View file

@ -1153,6 +1153,10 @@ u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode)
effects &= ~NVME_CMD_EFFECTS_CSE_MASK;
} else {
effects = le32_to_cpu(ctrl->effects->acs[opcode]);
/* Ignore execution restrictions if any relaxation bits are set */
if (effects & NVME_CMD_EFFECTS_CSER_MASK)
effects &= ~NVME_CMD_EFFECTS_CSE_MASK;
}
return effects;

View file

@ -534,6 +534,7 @@ int nvmf_connect_io_queue(struct nvme_ctrl *ctrl, u16 qid)
if (ret) {
nvmf_log_connect_error(ctrl, ret, le32_to_cpu(res.u32),
&cmd, data);
goto out_free_data;
}
result = le32_to_cpu(res.u32);
if (result & (NVME_CONNECT_AUTHREQ_ATR | NVME_CONNECT_AUTHREQ_ASCR)) {

View file

@ -209,7 +209,7 @@ static void nvmet_execute_admin_connect(struct nvmet_req *req)
struct nvmf_connect_command *c = &req->cmd->connect;
struct nvmf_connect_data *d;
struct nvmet_ctrl *ctrl = NULL;
u16 status = 0;
u16 status;
int ret;
if (!nvmet_check_transfer_len(req, sizeof(struct nvmf_connect_data)))
@ -290,7 +290,7 @@ static void nvmet_execute_io_connect(struct nvmet_req *req)
struct nvmf_connect_data *d;
struct nvmet_ctrl *ctrl;
u16 qid = le16_to_cpu(c->qid);
u16 status = 0;
u16 status;
if (!nvmet_check_transfer_len(req, sizeof(struct nvmf_connect_data)))
return;

View file

@ -646,6 +646,7 @@ enum {
NVME_CMD_EFFECTS_NCC = 1 << 2,
NVME_CMD_EFFECTS_NIC = 1 << 3,
NVME_CMD_EFFECTS_CCC = 1 << 4,
NVME_CMD_EFFECTS_CSER_MASK = GENMASK(15, 14),
NVME_CMD_EFFECTS_CSE_MASK = GENMASK(18, 16),
NVME_CMD_EFFECTS_UUID_SEL = 1 << 19,
NVME_CMD_EFFECTS_SCOPE_MASK = GENMASK(31, 20),