test/bdevio: skip compare and write tests when bdev has md

This is a temporary workaround for issue #2644, it enables
putting md-enabled NVMe namespaces in CI while we work
through adding the proper md support in the bdev layer
for compare and write.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I13fea25383b522c20e598147306f6de189b4dfd2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14081
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Michal Berger <michal.berger@intel.com>
This commit is contained in:
Jim Harris 2022-08-17 15:31:01 +00:00 committed by Tomasz Zawadzki
parent 25503b9630
commit 45dc28b0f3

View File

@ -639,6 +639,16 @@ blockdev_comparev_and_writev(void)
struct io_target *target = g_current_io_target; struct io_target *target = g_current_io_target;
struct spdk_bdev *bdev = target->bdev; struct spdk_bdev *bdev = target->bdev;
if (spdk_bdev_get_md_size(bdev) > 0) {
/* TODO: remove this check once bdev layer properly supports
* compare and write for md-enabled bdevs.
*/
SPDK_ERRLOG("skipping comparev_and_writev on bdev %s since it has\n"
"metadata which is not supported yet.\n",
spdk_bdev_get_name(bdev));
return;
}
/* Data size = acwu size */ /* Data size = acwu size */
data_length = spdk_bdev_get_block_size(bdev) * spdk_bdev_get_acwu(bdev); data_length = spdk_bdev_get_block_size(bdev) * spdk_bdev_get_acwu(bdev);
iov_len = data_length; iov_len = data_length;