From: Prasanna Kumar Kalever Date: Mon, 28 Jun 2021 08:27:47 +0000 (+0530) Subject: qa/workunits/rbd-nbd: add notrim test X-Git-Tag: v17.1.0~1516^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2fa7f90d42c534e5f0165b38271827b928734d35;p=ceph.git qa/workunits/rbd-nbd: add notrim test Signed-off-by: Prasanna Kumar Kalever --- diff --git a/qa/workunits/rbd/rbd-nbd.sh b/qa/workunits/rbd/rbd-nbd.sh index 262cddb9abc4b..77176ef7a2c85 100755 --- a/qa/workunits/rbd/rbd-nbd.sh +++ b/qa/workunits/rbd/rbd-nbd.sh @@ -166,14 +166,36 @@ get_pid ${POOL} dd if=/dev/urandom of=${DATA} bs=1M count=${SIZE} _sudo dd if=${DATA} of=${DEV} bs=1M oflag=direct [ "`dd if=${DATA} bs=1M | md5sum`" = "`rbd -p ${POOL} --no-progress export ${IMAGE} - | md5sum`" ] +unmap_device ${DEV} ${PID} + +# notrim test +DEV=`_sudo rbd device --device-type nbd --options notrim map ${POOL}/${IMAGE}` +get_pid ${POOL} +provisioned=`rbd -p ${POOL} --format xml du ${IMAGE} | + $XMLSTARLET sel -t -m "//stats/images/image/provisioned_size" -v .` +used=`rbd -p ${POOL} --format xml du ${IMAGE} | + $XMLSTARLET sel -t -m "//stats/images/image/used_size" -v .` +[ "${used}" -eq "${provisioned}" ] +# should fail discard as at time of mapping notrim was used +expect_false _sudo blkdiscard ${DEV} +sync +provisioned=`rbd -p ${POOL} --format xml du ${IMAGE} | + $XMLSTARLET sel -t -m "//stats/images/image/provisioned_size" -v .` +used=`rbd -p ${POOL} --format xml du ${IMAGE} | + $XMLSTARLET sel -t -m "//stats/images/image/used_size" -v .` +[ "${used}" -eq "${provisioned}" ] +unmap_device ${DEV} ${PID} # trim test +DEV=`_sudo rbd device --device-type nbd map ${POOL}/${IMAGE}` +get_pid ${POOL} provisioned=`rbd -p ${POOL} --format xml du ${IMAGE} | $XMLSTARLET sel -t -m "//stats/images/image/provisioned_size" -v .` used=`rbd -p ${POOL} --format xml du ${IMAGE} | $XMLSTARLET sel -t -m "//stats/images/image/used_size" -v .` [ "${used}" -eq "${provisioned}" ] -_sudo mkfs.ext4 -E discard ${DEV} # better idea? +# should honor discard as at time of mapping trim was considered by default +_sudo blkdiscard ${DEV} sync provisioned=`rbd -p ${POOL} --format xml du ${IMAGE} | $XMLSTARLET sel -t -m "//stats/images/image/provisioned_size" -v .`