]> git.proxmox.com Git - ceph.git/blame - ceph/qa/workunits/rbd/qemu_dynamic_features.sh
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / qa / workunits / rbd / qemu_dynamic_features.sh
CommitLineData
11fdf7f2
TL
1#!/usr/bin/env bash
2set -x
7c673cae
FG
3
4if [[ -z "${IMAGE_NAME}" ]]; then
5 echo image name must be provided
6 exit 1
7fi
8
9is_qemu_running() {
10 rbd status ${IMAGE_NAME} | grep -v "Watchers: none"
11}
12
13wait_for_qemu() {
14 while ! is_qemu_running ; do
15 echo "*** Waiting for QEMU"
16 sleep 30
17 done
18}
19
20wait_for_qemu
21rbd feature disable ${IMAGE_NAME} journaling
22rbd feature disable ${IMAGE_NAME} fast-diff
23rbd feature disable ${IMAGE_NAME} object-map
24rbd feature disable ${IMAGE_NAME} exclusive-lock
25
26while is_qemu_running ; do
27 echo "*** Enabling all features"
28 rbd feature enable ${IMAGE_NAME} exclusive-lock || break
29 rbd feature enable ${IMAGE_NAME} journaling || break
30 rbd feature enable ${IMAGE_NAME} object-map || break
7c673cae
FG
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