From 5b88597ac6042df1a83d2af5bdffc7c6882b4420 Mon Sep 17 00:00:00 2001 From: Kozlowski Mateusz Date: Wed, 6 Nov 2019 09:54:47 -0500 Subject: [PATCH] bdev: Initialize md_buf for zero copy start request In emulated zero copy mode on devices with separate metadata support the start zero copy request could assert after read completion, during _bdev_io_unset_bounce_buf; the original iovs would be NULL, but original md_buf would have garbage data. Signed-off-by: Kozlowski Mateusz Change-Id: Ia52b012c1b7462ebe490c29f5493168775646848 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/473455 Community-CI: Broadcom SPDK FC-NVMe CI Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Ben Walker --- lib/bdev/bdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index dc0572244..48e2c5441 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -3152,6 +3152,7 @@ spdk_bdev_zcopy_start(struct spdk_bdev_desc *desc, struct spdk_io_channel *ch, bdev_io->u.bdev.offset_blocks = offset_blocks; bdev_io->u.bdev.iovs = NULL; bdev_io->u.bdev.iovcnt = 0; + bdev_io->u.bdev.md_buf = NULL; bdev_io->u.bdev.zcopy.populate = populate ? 1 : 0; bdev_io->u.bdev.zcopy.commit = 0; bdev_io->u.bdev.zcopy.start = 1;