]> git.proxmox.com Git - ceph.git/blob - ceph/qa/workunits/rbd/diff.sh
bump version to 18.2.4-pve3
[ceph.git] / ceph / qa / workunits / rbd / diff.sh
1 #!/usr/bin/env bash
2 set -ex
3
4 function cleanup() {
5 rbd snap purge foo || :
6 rbd rm foo || :
7 rbd snap purge foo.copy || :
8 rbd rm foo.copy || :
9 rbd snap purge foo.copy2 || :
10 rbd rm foo.copy2 || :
11 rm -f foo.diff foo.out
12 }
13
14 cleanup
15
16 rbd create foo --size 1000
17 rbd bench --io-type write foo --io-size 4096 --io-threads 5 --io-total 4096000 --io-pattern rand
18
19 #rbd cp foo foo.copy
20 rbd create foo.copy --size 1000
21 rbd export-diff foo - | rbd import-diff - foo.copy
22
23 rbd snap create foo --snap=two
24 rbd bench --io-type write foo --io-size 4096 --io-threads 5 --io-total 4096000 --io-pattern rand
25 rbd snap create foo --snap=three
26 rbd snap create foo.copy --snap=two
27
28 rbd export-diff foo@two --from-snap three foo.diff && exit 1 || true # wrong snap order
29 rm -f foo.diff
30
31 rbd export-diff foo@three --from-snap two foo.diff
32 rbd import-diff foo.diff foo.copy
33 rbd import-diff foo.diff foo.copy && exit 1 || true # this should fail with EEXIST on the end snap
34 rbd snap ls foo.copy | grep three
35
36 rbd create foo.copy2 --size 1000
37 rbd import-diff foo.diff foo.copy2 && exit 1 || true # this should fail bc the start snap dne
38
39 rbd export foo foo.out
40 orig=`md5sum foo.out | awk '{print $1}'`
41 rm foo.out
42 rbd export foo.copy foo.out
43 copy=`md5sum foo.out | awk '{print $1}'`
44
45 if [ "$orig" != "$copy" ]; then
46 echo does not match
47 exit 1
48 fi
49
50 cleanup
51
52 echo OK
53