Skip to content

Commit 60a25ae

Browse files
nvme: revert the cross-controller atomic write size validation
JIRA: https://issues.redhat.com/browse/RHEL-114502 This was originally added by commit 8695f06 ("nvme: all namespaces in a subsystem must adhere to a common atomic write size") to check the all controllers in a subsystem report the same atomic write size, but the check wasn't quite correct and caused problems for devices with multiple namespaces that report different LBA sizes. Commit f46d273 ("nvme: fix atomic write size validation") tried to fix this, but then caused problems for namespace rediscovery after a format with an LBA size change that changes the AWUPF value. This drops the validation and essentially reverts those two commits while keeping the cleanup that went in between the two. We'll need to figure out how to properly check for the mouse trap that nvme left us, but for now revert the check to keep devices working for users who couldn't care less about the atomic write feature. Fixes: 8695f06 ("nvme: all namespaces in a subsystem must adhere to a common atomic write size") Fixes: f46d273 ("nvme: fix atomic write size validation") Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Alan Adamson <alan.adamson@oracle.com> Reviewed-by: Keith Busch <kbusch@kernel.org> Reviewed-by: John Garry <john.g.garry@oracle.com> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Tested-by: Alan Adamson <alan.adamson@oracle.com> (cherry picked from commit 1fc09f2) Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
1 parent df84a4f commit 60a25ae

File tree

1 file changed

+0
-9
lines changed

1 file changed

+0
-9
lines changed

drivers/nvme/host/core.c

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3552,15 +3552,6 @@ static int nvme_init_identify(struct nvme_ctrl *ctrl)
35523552
if (ret)
35533553
goto out_free;
35543554
}
3555-
3556-
if (le16_to_cpu(id->awupf) != ctrl->subsys->awupf) {
3557-
dev_err_ratelimited(ctrl->device,
3558-
"inconsistent AWUPF, controller not added (%u/%u).\n",
3559-
le16_to_cpu(id->awupf), ctrl->subsys->awupf);
3560-
ret = -EINVAL;
3561-
goto out_free;
3562-
}
3563-
35643555
memcpy(ctrl->subsys->firmware_rev, id->fr,
35653556
sizeof(ctrl->subsys->firmware_rev));
35663557

0 commit comments

Comments
 (0)