nvme: update the known admin effects
authorChristoph Hellwig <hch@lst.de>
Fri, 25 Sep 2020 06:34:43 +0000 (08:34 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 7 Oct 2020 05:56:19 +0000 (07:56 +0200)
A Format NVM command can change the capabilities of namespaces, while
Sanitize does change the Logical Block Content and must be serialized.

Also remove CSUPP bit for Format - it is not a mandatory command,
and we don't check for the bit anyway.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
drivers/nvme/host/core.c

index bb630d5..4737591 100644 (file)
@@ -968,10 +968,10 @@ static u32 nvme_known_admin_effects(u8 opcode)
 {
        switch (opcode) {
        case nvme_admin_format_nvm:
 {
        switch (opcode) {
        case nvme_admin_format_nvm:
-               return NVME_CMD_EFFECTS_CSUPP | NVME_CMD_EFFECTS_LBCC |
+               return NVME_CMD_EFFECTS_LBCC | NVME_CMD_EFFECTS_NCC |
                        NVME_CMD_EFFECTS_CSE_MASK;
        case nvme_admin_sanitize_nvm:
                        NVME_CMD_EFFECTS_CSE_MASK;
        case nvme_admin_sanitize_nvm:
-               return NVME_CMD_EFFECTS_CSE_MASK;
+               return NVME_CMD_EFFECTS_LBCC | NVME_CMD_EFFECTS_CSE_MASK;
        default:
                break;
        }
        default:
                break;
        }