test/nvme: don't run sgl tests when NS is extended LBA format

Change-Id: I7c60b347c787fa271ab385389ddbbc286366f8e9
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
This commit is contained in:
Changpeng Liu 2017-04-25 16:41:54 +08:00 committed by Daniel Verkamp
parent 6b91943209
commit 2e9cd69f52

View File

@ -315,7 +315,7 @@ writev_readv_tests(struct dev *dev, nvme_build_io_req_fn_t build_io_fn, const ch
{
int rc = 0;
uint32_t len, lba_count;
uint32_t i, j, nseg;
uint32_t i, j, nseg, remainder;
char *buf;
struct io_request *req;
@ -334,6 +334,10 @@ writev_readv_tests(struct dev *dev, nvme_build_io_req_fn_t build_io_fn, const ch
return 0;
}
if (spdk_nvme_ns_get_flags(ns) & SPDK_NVME_NS_DPS_PI_SUPPORTED) {
return 0;
}
req = spdk_zmalloc(sizeof(*req), 0, NULL);
if (!req) {
fprintf(stderr, "Allocate request failed\n");
@ -351,7 +355,8 @@ writev_readv_tests(struct dev *dev, nvme_build_io_req_fn_t build_io_fn, const ch
}
lba_count = len / spdk_nvme_ns_get_sector_size(ns);
if (!lba_count || (BASE_LBA_START + lba_count > (uint32_t)nsdata->nsze)) {
remainder = len % spdk_nvme_ns_get_sector_size(ns);
if (!lba_count || remainder || (BASE_LBA_START + lba_count > (uint32_t)nsdata->nsze)) {
fprintf(stderr, "%s: %s Invalid IO length parameter\n", dev->name, test_name);
free_req(req);
return 0;