]> git.proxmox.com Git - ceph.git/blame - ceph/qa/workunits/rbd/qemu_dynamic_features.sh
update sources to v12.1.3
[ceph.git] / ceph / qa / workunits / rbd / qemu_dynamic_features.sh
CommitLineData
7c673cae
FG
1#!/bin/bash -x
2
3if [[ -z "${IMAGE_NAME}" ]]; then
4 echo image name must be provided
5 exit 1
6fi
7
8is_qemu_running() {
9 rbd status ${IMAGE_NAME} | grep -v "Watchers: none"
10}
11
12wait_for_qemu() {
13 while ! is_qemu_running ; do
14 echo "*** Waiting for QEMU"
15 sleep 30
16 done
17}
18
19wait_for_qemu
20rbd feature disable ${IMAGE_NAME} journaling
21rbd feature disable ${IMAGE_NAME} fast-diff
22rbd feature disable ${IMAGE_NAME} object-map
23rbd feature disable ${IMAGE_NAME} exclusive-lock
24
25while is_qemu_running ; do
26 echo "*** Enabling all features"
27 rbd feature enable ${IMAGE_NAME} exclusive-lock || break
28 rbd feature enable ${IMAGE_NAME} journaling || break
29 rbd feature enable ${IMAGE_NAME} object-map || break
30 rbd feature enable ${IMAGE_NAME} fast-diff || break
31 if is_qemu_running ; then
32 sleep 60
33 fi
34
35 echo "*** Disabling all features"
36 rbd feature disable ${IMAGE_NAME} journaling || break
37 rbd feature disable ${IMAGE_NAME} fast-diff || break
38 rbd feature disable ${IMAGE_NAME} object-map || break
39 rbd feature disable ${IMAGE_NAME} exclusive-lock || break
40 if is_qemu_running ; then
41 sleep 60
42 fi
43done
44
45if is_qemu_running ; then
46 echo "RBD command failed on alive QEMU"
47 exit 1
48fi