4 rbd snap purge foo || :
6 rbd snap purge foo.copy || :
8 rbd snap purge foo.copy2 || :
10 rm -f foo.diff foo.out
15 rbd create foo --size 1000
16 rbd bench-write foo --io-size 4096 --io-threads 5 --io-total 4096000 --io-pattern rand
19 rbd create foo.copy --size 1000
20 rbd export-diff foo - | rbd import-diff - foo.copy
22 rbd snap create foo --snap=two
23 rbd bench-write foo --io-size 4096 --io-threads 5 --io-total 4096000 --io-pattern rand
24 rbd snap create foo --snap=three
25 rbd snap create foo.copy --snap=two
27 rbd export-diff foo@two --from-snap three foo.diff && exit 1 || true # wrong snap order
30 rbd export-diff foo@three --from-snap two foo.diff
31 rbd import-diff foo.diff foo.copy
32 rbd import-diff foo.diff foo.copy && exit 1 || true # this should fail with EEXIST on the end snap
33 rbd snap ls foo.copy | grep three
35 rbd create foo.copy2 --size 1000
36 rbd import-diff foo.diff foo.copy2 && exit 1 || true # this should fail bc the start snap dne
38 rbd export foo foo.out
39 orig=`md5sum foo.out | awk '{print $1}'`
41 rbd export foo.copy foo.out
42 copy=`md5sum foo.out | awk '{print $1}'`
44 if [ "$orig" != "$copy" ]; then