nvmf/ctrlr: improve property set cc checking

AMS, MPS, CSS fields are explicitly checked now.

Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com>
Change-Id: Ib3872b53fc49f1320aa30c73eac026d1acb9eace
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479836
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Jacek Kalwas 2020-01-09 14:30:55 +01:00 committed by Tomasz Zawadzki
parent f80fe5c4a5
commit a71e30dee8

View File

@ -699,6 +699,21 @@ nvmf_prop_set_cc(struct spdk_nvmf_ctrlr *ctrlr, uint64_t value)
diff.bits.iocqes = 0;
}
if (diff.bits.ams) {
SPDK_ERRLOG("Arbitration Mechanism Selected (AMS) 0x%x not supported!\n", cc.bits.ams);
return false;
}
if (diff.bits.mps) {
SPDK_ERRLOG("Memory Page Size (MPS) %u KiB not supported!\n", (1 << (2 + cc.bits.mps)));
return false;
}
if (diff.bits.css) {
SPDK_ERRLOG("I/O Command Set Selected (CSS) 0x%x not supported!\n", cc.bits.css);
return false;
}
if (diff.raw != 0) {
SPDK_ERRLOG("Prop Set CC toggled reserved bits 0x%x!\n", diff.raw);
return false;