From 7ba89d1e48f62a756c816ad71b07bca65ebb03e2 Mon Sep 17 00:00:00 2001 From: Jonas Pfefferle Date: Tue, 16 Aug 2022 09:45:02 +0200 Subject: [PATCH] bdev: set ext_opts=NULL if not used bdev_io is allocated from a memory pool and is not zeroed on reuse. So set bdev_io->u.bdev.ext_opts = NULL for io ops where it is not supported (yet) so we can test against it. Signed-off-by: Jonas Pfefferle Change-Id: Ia579ea6b0787cf62572ea3a6bf2251867602e952 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14056 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Dong Yi Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki Reviewed-by: Aleksey Marchuk Community-CI: Mellanox Build Bot --- lib/bdev/bdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 4955e9354..1fec0bb1c 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -4635,6 +4635,7 @@ bdev_comparev_blocks_with_md(struct spdk_bdev_desc *desc, struct spdk_io_channel bdev_io->u.bdev.num_blocks = num_blocks; bdev_io->u.bdev.offset_blocks = offset_blocks; bdev_io_init(bdev_io, bdev, cb_arg, cb); + bdev_io->u.bdev.ext_opts = NULL; if (bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_COMPARE)) { bdev_io_submit(bdev_io); @@ -4703,6 +4704,7 @@ bdev_compare_blocks_with_md(struct spdk_bdev_desc *desc, struct spdk_io_channel bdev_io->u.bdev.num_blocks = num_blocks; bdev_io->u.bdev.offset_blocks = offset_blocks; bdev_io_init(bdev_io, bdev, cb_arg, cb); + bdev_io->u.bdev.ext_opts = NULL; if (bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_COMPARE)) { bdev_io_submit(bdev_io); @@ -4888,6 +4890,7 @@ spdk_bdev_comparev_and_writev_blocks(struct spdk_bdev_desc *desc, struct spdk_io bdev_io->u.bdev.num_blocks = num_blocks; bdev_io->u.bdev.offset_blocks = offset_blocks; bdev_io_init(bdev_io, bdev, cb_arg, cb); + bdev_io->u.bdev.ext_opts = NULL; if (bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_COMPARE_AND_WRITE)) { bdev_io_submit(bdev_io); @@ -4938,6 +4941,7 @@ spdk_bdev_zcopy_start(struct spdk_bdev_desc *desc, struct spdk_io_channel *ch, bdev_io->u.bdev.zcopy.commit = 0; bdev_io->u.bdev.zcopy.start = 1; bdev_io_init(bdev_io, bdev, cb_arg, cb); + bdev_io->u.bdev.ext_opts = NULL; bdev_io_submit(bdev_io); @@ -5012,6 +5016,7 @@ spdk_bdev_write_zeroes_blocks(struct spdk_bdev_desc *desc, struct spdk_io_channe bdev_io->u.bdev.offset_blocks = offset_blocks; bdev_io->u.bdev.num_blocks = num_blocks; bdev_io_init(bdev_io, bdev, cb_arg, cb); + bdev_io->u.bdev.ext_opts = NULL; if (bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_WRITE_ZEROES)) { bdev_io_submit(bdev_io); @@ -5081,6 +5086,7 @@ spdk_bdev_unmap_blocks(struct spdk_bdev_desc *desc, struct spdk_io_channel *ch, bdev_io->u.bdev.offset_blocks = offset_blocks; bdev_io->u.bdev.num_blocks = num_blocks; bdev_io_init(bdev_io, bdev, cb_arg, cb); + bdev_io->u.bdev.ext_opts = NULL; bdev_io_submit(bdev_io); return 0;