History

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

Linus Torvalds committed 2 years ago

Commit 7edfe0a2 parents 8096015 9c10f2b4 files · +8 −2Browse files

Unified · Split

4 files
  1. drivers/nvme/host/core.c +4 −0
  2. drivers/nvme/host/fabrics.c +1 −0
  3. drivers/nvme/target/fabrics-cmd.c +2 −2
  4. include/linux/nvme.h +1 −0
drivers/nvme/host/core.c+4−0
@@ -1153,6 +1153,10 @@ u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode) · 1152 unmodified lines
11531153 effects &= ~NVME_CMD_EFFECTS_CSE_MASK;
11541154 } else {
11551155 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;
11561160 }
11571161
11581162 return effects;
drivers/nvme/host/fabrics.c+1−0
@@ -534,6 +534,7 @@ int nvmf_connect_io_queue(struct nvme_ctrl *ctrl, u16 qid) · 533 unmodified lines
534534 if (ret) {
535535 nvmf_log_connect_error(ctrl, ret, le32_to_cpu(res.u32),
536536 &cmd, data);
537+ goto out_free_data;
537538 }
538539 result = le32_to_cpu(res.u32);
539540 if (result & (NVME_CONNECT_AUTHREQ_ATR | NVME_CONNECT_AUTHREQ_ASCR)) {
drivers/nvme/target/fabrics-cmd.c+2−2
@@ -209,7 +209,7 @@ static void nvmet_execute_admin_connect(struct nvmet_req *req) · 208 unmodified lines
209209 struct nvmf_connect_command *c = &req->cmd->connect;
210210 struct nvmf_connect_data *d;
211211 struct nvmet_ctrl *ctrl = NULL;
212− u16 status = 0;
212+ u16 status;
213213 int ret;
214214
215215 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) · 74 unmodified lines
290290 struct nvmf_connect_data *d;
291291 struct nvmet_ctrl *ctrl;
292292 u16 qid = le16_to_cpu(c->qid);
293− u16 status = 0;
293+ u16 status;
294294
295295 if (!nvmet_check_transfer_len(req, sizeof(struct nvmf_connect_data)))
296296 return;
include/linux/nvme.h+1−0
@@ -646,6 +646,7 @@ enum { · 645 unmodified lines
646646 NVME_CMD_EFFECTS_NCC = 1 << 2,
647647 NVME_CMD_EFFECTS_NIC = 1 << 3,
648648 NVME_CMD_EFFECTS_CCC = 1 << 4,
649+ NVME_CMD_EFFECTS_CSER_MASK = GENMASK(15, 14),
649650 NVME_CMD_EFFECTS_CSE_MASK = GENMASK(18, 16),
650651 NVME_CMD_EFFECTS_UUID_SEL = 1 << 19,
651652 NVME_CMD_EFFECTS_SCOPE_MASK = GENMASK(31, 20),

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t