Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+8 -2
+4
drivers/nvme/host/core.c
··· 1153 1153 effects &= ~NVME_CMD_EFFECTS_CSE_MASK; 1154 1154 } else { 1155 1155 effects = le32_to_cpu(ctrl->effects->acs[opcode]); 1156 + 1157 + /* Ignore execution restrictions if any relaxation bits are set */ 1158 + if (effects & NVME_CMD_EFFECTS_CSER_MASK) 1159 + effects &= ~NVME_CMD_EFFECTS_CSE_MASK; 1156 1160 } 1157 1161 1158 1162 return effects;
+1
drivers/nvme/host/fabrics.c
··· 534 534 if (ret) { 535 535 nvmf_log_connect_error(ctrl, ret, le32_to_cpu(res.u32), 536 536 &cmd, data); 537 + goto out_free_data; 537 538 } 538 539 result = le32_to_cpu(res.u32); 539 540 if (result & (NVME_CONNECT_AUTHREQ_ATR | NVME_CONNECT_AUTHREQ_ASCR)) {
+2 -2
drivers/nvme/target/fabrics-cmd.c
··· 209 209 struct nvmf_connect_command *c = &req->cmd->connect; 210 210 struct nvmf_connect_data *d; 211 211 struct nvmet_ctrl *ctrl = NULL; 212 - u16 status = 0; 212 + u16 status; 213 213 int ret; 214 214 215 215 if (!nvmet_check_transfer_len(req, sizeof(struct nvmf_connect_data))) ··· 290 290 struct nvmf_connect_data *d; 291 291 struct nvmet_ctrl *ctrl; 292 292 u16 qid = le16_to_cpu(c->qid); 293 - u16 status = 0; 293 + u16 status; 294 294 295 295 if (!nvmet_check_transfer_len(req, sizeof(struct nvmf_connect_data))) 296 296 return;
+1
include/linux/nvme.h
··· 646 646 NVME_CMD_EFFECTS_NCC = 1 << 2, 647 647 NVME_CMD_EFFECTS_NIC = 1 << 3, 648 648 NVME_CMD_EFFECTS_CCC = 1 << 4, 649 + NVME_CMD_EFFECTS_CSER_MASK = GENMASK(15, 14), 649 650 NVME_CMD_EFFECTS_CSE_MASK = GENMASK(18, 16), 650 651 NVME_CMD_EFFECTS_UUID_SEL = 1 << 19, 651 652 NVME_CMD_EFFECTS_SCOPE_MASK = GENMASK(31, 20),