From b084c094175147937c3caa47f29945e8f079f663 Mon Sep 17 00:00:00 2001 From: corwin Date: Mon, 26 Sep 2022 17:36:00 -0400 Subject: [PATCH] Version 8.2.0.21 - Fixed a bug where I/O errors on data reads from below a vdo were ignored. --- kvdo.spec | 4 ++-- vdo/Makefile | 2 +- vdo/dedupe.c | 1 + vdo/vio-read.c | 6 ++++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/kvdo.spec b/kvdo.spec index e4de0fca..d149b6f0 100644 --- a/kvdo.spec +++ b/kvdo.spec @@ -1,6 +1,6 @@ %define spec_release 1 %define kmod_name kvdo -%define kmod_driver_version 8.2.0.18 +%define kmod_driver_version 8.2.0.21 %define kmod_rpm_release %{spec_release} %define kmod_kernel_version 3.10.0-693.el7 @@ -94,5 +94,5 @@ rm -rf $RPM_BUILD_ROOT %{_usr}/src/%{kmod_name}-%{version} %changelog -* Thu Aug 18 2022 - Red Hat VDO Team - 8.2.0.18-1 +* Thu Sep 22 2022 - Red Hat VDO Team - 8.2.0.21-1 - See https://github.com/dm-vdo/kvdo.git diff --git a/vdo/Makefile b/vdo/Makefile index c0e7aef8..3c035ce0 100644 --- a/vdo/Makefile +++ b/vdo/Makefile @@ -1,4 +1,4 @@ -VDO_VERSION = 8.2.0.18 +VDO_VERSION = 8.2.0.21 SOURCES = $(notdir $(wildcard $(src)/*.c)) OBJECTS = $(SOURCES:%.c=%.o) diff --git a/vdo/dedupe.c b/vdo/dedupe.c index 328aa17c..a0cb7a10 100644 --- a/vdo/dedupe.c +++ b/vdo/dedupe.c @@ -1528,6 +1528,7 @@ static void verify_endio(struct bio *bio) vdo_count_completed_bios(bio); if (result != VDO_SUCCESS) { + agent->is_duplicate = false; launch_data_vio_hash_zone_callback(agent, finish_verifying); return; } diff --git a/vdo/vio-read.c b/vdo/vio-read.c index 9f275eb6..e1213b66 100644 --- a/vdo/vio-read.c +++ b/vdo/vio-read.c @@ -132,8 +132,14 @@ static void complete_read(struct vdo_completion *completion) static void read_endio(struct bio *bio) { struct data_vio *data_vio = vio_as_data_vio(bio->bi_private); + int result = blk_status_to_errno(bio->bi_status); vdo_count_completed_bios(bio); + if (result != VDO_SUCCESS) { + continue_data_vio(data_vio, result); + return; + } + launch_data_vio_cpu_callback(data_vio, complete_read, CPU_Q_COMPLETE_READ_PRIORITY);