]> git.proxmox.com Git - ceph.git/blob - ceph/qa/rbd/krbd_parent_overlap.t
import 15.2.0 Octopus source
[ceph.git] / ceph / qa / rbd / krbd_parent_overlap.t
1
2 For reads, only the object extent needs to be reverse mapped:
3
4 $ rbd create --size 5M img
5 $ DEV=$(sudo rbd map img)
6 $ xfs_io -c 'pwrite 0 5M' $DEV >/dev/null
7 $ sudo rbd unmap $DEV
8 $ rbd snap create img@snap
9 $ rbd snap protect img@snap
10 $ rbd clone img@snap cloneimg
11 $ rbd resize --no-progress --size 12M cloneimg
12 $ DEV=$(sudo rbd map cloneimg)
13 $ hexdump $DEV
14 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
15 *
16 0500000 0000 0000 0000 0000 0000 0000 0000 0000
17 *
18 0c00000
19 $ dd if=$DEV iflag=direct bs=4M status=none | hexdump
20 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
21 *
22 0500000 0000 0000 0000 0000 0000 0000 0000 0000
23 *
24 0c00000
25 $ sudo rbd unmap $DEV
26 $ rbd rm --no-progress cloneimg
27 $ rbd snap unprotect img@snap
28 $ rbd snap rm --no-progress img@snap
29 $ rbd rm --no-progress img
30
31 For writes, the entire object needs to be reverse mapped:
32
33 $ rbd create --size 2M img
34 $ DEV=$(sudo rbd map img)
35 $ xfs_io -c 'pwrite 0 1M' $DEV >/dev/null
36 $ sudo rbd unmap $DEV
37 $ rbd snap create img@snap
38 $ rbd snap protect img@snap
39 $ rbd clone img@snap cloneimg
40 $ rbd resize --no-progress --size 8M cloneimg
41 $ DEV=$(sudo rbd map cloneimg)
42 $ xfs_io -c 'pwrite -S 0xef 3M 1M' $DEV >/dev/null
43 $ hexdump $DEV
44 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
45 *
46 0100000 0000 0000 0000 0000 0000 0000 0000 0000
47 *
48 0300000 efef efef efef efef efef efef efef efef
49 *
50 0400000 0000 0000 0000 0000 0000 0000 0000 0000
51 *
52 0800000
53 $ sudo rbd unmap $DEV
54 $ DEV=$(sudo rbd map cloneimg)
55 $ hexdump $DEV
56 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
57 *
58 0100000 0000 0000 0000 0000 0000 0000 0000 0000
59 *
60 0300000 efef efef efef efef efef efef efef efef
61 *
62 0400000 0000 0000 0000 0000 0000 0000 0000 0000
63 *
64 0800000
65 $ sudo rbd unmap $DEV
66 $ rbd rm --no-progress cloneimg
67 $ rbd snap unprotect img@snap
68 $ rbd snap rm --no-progress img@snap
69 $ rbd rm --no-progress img