From 6fb544045e743c5dc73dac2f62aeeb964dcd62bc Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Mon, 18 Nov 2019 18:15:10 +0100 Subject: [PATCH] qa: kernel.sh: update for read-only changes Snapshot existence validation code was removed from krbd. It was racy and relied on having watch established for snapshots. Fixes: https://tracker.ceph.com/issues/42916 Signed-off-by: Ilya Dryomov --- qa/workunits/rbd/kernel.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/qa/workunits/rbd/kernel.sh b/qa/workunits/rbd/kernel.sh index f733b93c10f23..4c15983d4b3a2 100755 --- a/qa/workunits/rbd/kernel.sh +++ b/qa/workunits/rbd/kernel.sh @@ -10,6 +10,10 @@ fi TMP_FILES="/tmp/img1 /tmp/img1.small /tmp/img1.snap1 /tmp/img1.export /tmp/img1.trunc" +function expect_false() { + if "$@"; then return 1; else return 0; fi +} + function get_device_dir { local POOL=$1 local IMAGE=$2 @@ -84,8 +88,9 @@ cmp /tmp/img1 /tmp/img1.snap1 sudo dd if=/dev/rbd/rbd/testimg1 of=/tmp/img1.export cmp /tmp/img1 /tmp/img1.export -# remove snapshot and detect error from mapped snapshot +# zeros are returned if an image or a snapshot is removed +expect_false cmp -n 76800000 /dev/rbd/rbd/testimg1@snap1 /dev/zero rbd snap rm --snap=snap1 testimg1 -sudo dd if=/dev/rbd/rbd/testimg1@snap1 of=/tmp/img1.snap1 2>&1 | grep 'Input/output error' +cmp -n 76800000 /dev/rbd/rbd/testimg1@snap1 /dev/zero echo OK -- 2.39.5