Keith, > @@ -1113,8 +1126,9 @@ static int nvme_identify_ns_descs(struct nvme_ctrl *ctrl, unsigned nsid, > status = nvme_submit_sync_cmd(ctrl->admin_q, &c, data, > NVME_IDENTIFY_DATA_SIZE); > if (status) { > - dev_warn(ctrl->device, > - "Identify Descriptors failed (%d)\n", status); > + if (ctrl->vs >= NVME_VS(1, 3, 0)) > + dev_warn(ctrl->device, > + "Identify Descriptors failed (%d)\n", status); Not a biggie but maybe this should be a separate patch? > @@ -1808,7 +1828,8 @@ static bool nvme_ns_ids_equal(struct nvme_ns_ids *a, struct nvme_ns_ids *b) > { > return uuid_equal(&a->uuid, &b->uuid) && > memcmp(&a->nguid, &b->nguid, sizeof(a->nguid)) == 0 && > - memcmp(&a->eui64, &b->eui64, sizeof(a->eui64)) == 0; > + memcmp(&a->eui64, &b->eui64, sizeof(a->eui64)) == 0 && > + a->csi == b->csi; > } No objection to defensive programming. But wouldn't this be a broken device? Otherwise LGTM. Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> -- Martin K. Petersen Oracle Linux Engineering