]> git.proxmox.com Git - ceph.git/blob - ceph/qa/rbd/krbd_blkroset.t
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / qa / rbd / krbd_blkroset.t
1
2 Setup
3 =====
4
5 $ rbd create --size 10 img
6 $ rbd snap create img@snap
7 $ rbd create --size 1 imgpart
8 $ DEV=$(sudo rbd map imgpart)
9 $ cat <<EOF | sudo sfdisk $DEV >/dev/null 2>&1
10 > unit: sectors
11 > /dev/rbd0p1 : start= 512, size= 512, Id=83
12 > /dev/rbd0p2 : start= 1024, size= 512, Id=83
13 > EOF
14 $ sudo rbd unmap $DEV
15 $ rbd snap create imgpart@snap
16
17
18 Image HEAD
19 ==========
20
21 R/W, unpartitioned:
22
23 $ DEV=$(sudo rbd map img)
24 $ blockdev --getro $DEV
25 0
26 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none
27 $ blkdiscard $DEV
28 $ blockdev --setro $DEV
29 .*BLKROSET: Permission denied (re)
30 [1]
31 $ sudo blockdev --setro $DEV
32 $ blockdev --getro $DEV
33 1
34 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none
35 dd: error writing '/dev/rbd?': Operation not permitted (glob)
36 [1]
37 $ blkdiscard $DEV
38 blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob)
39 [1]
40 $ blockdev --setrw $DEV
41 .*BLKROSET: Permission denied (re)
42 [1]
43 $ sudo blockdev --setrw $DEV
44 $ blockdev --getro $DEV
45 0
46 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none
47 $ blkdiscard $DEV
48 $ sudo rbd unmap $DEV
49
50 R/W, partitioned:
51
52 $ DEV=$(sudo rbd map imgpart)
53 $ udevadm settle
54 $ blockdev --getro ${DEV}p1
55 0
56 $ blockdev --getro ${DEV}p2
57 0
58 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
59 $ blkdiscard ${DEV}p1
60 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
61 $ blkdiscard ${DEV}p2
62 $ blockdev --setro ${DEV}p1
63 .*BLKROSET: Permission denied (re)
64 [1]
65 $ sudo blockdev --setro ${DEV}p1
66 $ blockdev --getro ${DEV}p1
67 1
68 $ blockdev --getro ${DEV}p2
69 0
70 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
71 dd: error writing '/dev/rbd?p1': Operation not permitted (glob)
72 [1]
73 $ blkdiscard ${DEV}p1
74 blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob)
75 [1]
76 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
77 $ blkdiscard ${DEV}p2
78 $ blockdev --setrw ${DEV}p1
79 .*BLKROSET: Permission denied (re)
80 [1]
81 $ sudo blockdev --setrw ${DEV}p1
82 $ blockdev --getro ${DEV}p1
83 0
84 $ blockdev --getro ${DEV}p2
85 0
86 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
87 $ blkdiscard ${DEV}p1
88 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
89 $ blkdiscard ${DEV}p2
90 $ sudo rbd unmap $DEV
91
92 $ DEV=$(sudo rbd map imgpart)
93 $ udevadm settle
94 $ blockdev --getro ${DEV}p1
95 0
96 $ blockdev --getro ${DEV}p2
97 0
98 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
99 $ blkdiscard ${DEV}p1
100 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
101 $ blkdiscard ${DEV}p2
102 $ blockdev --setro ${DEV}p2
103 .*BLKROSET: Permission denied (re)
104 [1]
105 $ sudo blockdev --setro ${DEV}p2
106 $ blockdev --getro ${DEV}p1
107 0
108 $ blockdev --getro ${DEV}p2
109 1
110 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
111 $ blkdiscard ${DEV}p1
112 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
113 dd: error writing '/dev/rbd?p2': Operation not permitted (glob)
114 [1]
115 $ blkdiscard ${DEV}p2
116 blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob)
117 [1]
118 $ blockdev --setrw ${DEV}p2
119 .*BLKROSET: Permission denied (re)
120 [1]
121 $ sudo blockdev --setrw ${DEV}p2
122 $ blockdev --getro ${DEV}p1
123 0
124 $ blockdev --getro ${DEV}p2
125 0
126 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
127 $ blkdiscard ${DEV}p1
128 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
129 $ blkdiscard ${DEV}p2
130 $ sudo rbd unmap $DEV
131
132 R/O, unpartitioned:
133
134 $ DEV=$(sudo rbd map --read-only img)
135 $ blockdev --getro $DEV
136 1
137 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none
138 dd: error writing '/dev/rbd?': Operation not permitted (glob)
139 [1]
140 $ blkdiscard $DEV
141 blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob)
142 [1]
143 $ blockdev --setrw $DEV
144 .*BLKROSET: Permission denied (re)
145 [1]
146 $ sudo blockdev --setrw $DEV
147 $ blockdev --getro $DEV
148 0
149 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none
150 $ blkdiscard $DEV
151 $ sudo rbd unmap $DEV
152
153 R/O, partitioned:
154
155 $ DEV=$(sudo rbd map --read-only imgpart)
156 $ udevadm settle
157 $ blockdev --getro ${DEV}p1
158 1
159 $ blockdev --getro ${DEV}p2
160 1
161 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
162 dd: error writing '/dev/rbd?p1': Operation not permitted (glob)
163 [1]
164 $ blkdiscard ${DEV}p1
165 blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob)
166 [1]
167 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
168 dd: error writing '/dev/rbd?p2': Operation not permitted (glob)
169 [1]
170 $ blkdiscard ${DEV}p2
171 blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob)
172 [1]
173 $ blockdev --setrw ${DEV}p1
174 .*BLKROSET: Permission denied (re)
175 [1]
176 $ sudo blockdev --setrw ${DEV}p1
177 $ blockdev --setrw ${DEV}p2
178 .*BLKROSET: Permission denied (re)
179 [1]
180 $ sudo blockdev --setrw ${DEV}p2
181 $ blockdev --getro ${DEV}p1
182 0
183 $ blockdev --getro ${DEV}p2
184 0
185 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
186 $ blkdiscard ${DEV}p1
187 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
188 $ blkdiscard ${DEV}p2
189 $ sudo rbd unmap $DEV
190
191
192 Image snapshot
193 ==============
194
195 Unpartitioned:
196
197 $ DEV=$(sudo rbd map img@snap)
198 $ blockdev --getro $DEV
199 1
200 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none
201 dd: error writing '/dev/rbd?': Operation not permitted (glob)
202 [1]
203 $ blkdiscard $DEV
204 blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob)
205 [1]
206 $ blockdev --setrw $DEV
207 .*BLKROSET: Permission denied (re)
208 [1]
209 $ sudo blockdev --setrw $DEV
210 .*BLKROSET: Read-only file system (re)
211 [1]
212 $ blockdev --getro $DEV
213 1
214 $ dd if=/dev/urandom of=$DEV bs=1k seek=1 count=1 status=none
215 dd: error writing '/dev/rbd?': Operation not permitted (glob)
216 [1]
217 $ blkdiscard $DEV
218 blkdiscard: /dev/rbd?: BLKDISCARD ioctl failed: Operation not permitted (glob)
219 [1]
220 $ sudo rbd unmap $DEV
221
222 Partitioned:
223
224 $ DEV=$(sudo rbd map imgpart@snap)
225 $ udevadm settle
226 $ blockdev --getro ${DEV}p1
227 1
228 $ blockdev --getro ${DEV}p2
229 1
230 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
231 dd: error writing '/dev/rbd?p1': Operation not permitted (glob)
232 [1]
233 $ blkdiscard ${DEV}p1
234 blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob)
235 [1]
236 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
237 dd: error writing '/dev/rbd?p2': Operation not permitted (glob)
238 [1]
239 $ blkdiscard ${DEV}p2
240 blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob)
241 [1]
242 $ blockdev --setrw ${DEV}p1
243 .*BLKROSET: Permission denied (re)
244 [1]
245 $ sudo blockdev --setrw ${DEV}p1
246 .*BLKROSET: Read-only file system (re)
247 [1]
248 $ blockdev --setrw ${DEV}p2
249 .*BLKROSET: Permission denied (re)
250 [1]
251 $ sudo blockdev --setrw ${DEV}p2
252 .*BLKROSET: Read-only file system (re)
253 [1]
254 $ blockdev --getro ${DEV}p1
255 1
256 $ blockdev --getro ${DEV}p2
257 1
258 $ dd if=/dev/urandom of=${DEV}p1 bs=1k seek=1 count=1 status=none
259 dd: error writing '/dev/rbd?p1': Operation not permitted (glob)
260 [1]
261 $ blkdiscard ${DEV}p1
262 blkdiscard: /dev/rbd?p1: BLKDISCARD ioctl failed: Operation not permitted (glob)
263 [1]
264 $ dd if=/dev/urandom of=${DEV}p2 bs=1k seek=1 count=1 status=none
265 dd: error writing '/dev/rbd?p2': Operation not permitted (glob)
266 [1]
267 $ blkdiscard ${DEV}p2
268 blkdiscard: /dev/rbd?p2: BLKDISCARD ioctl failed: Operation not permitted (glob)
269 [1]
270 $ sudo rbd unmap $DEV
271
272
273 rw -> ro with open_count > 0
274 ============================
275
276 $ DEV=$(sudo rbd map img)
277 $ { sleep 10; sudo blockdev --setro $DEV; } &
278 $ dd if=/dev/urandom of=$DEV bs=1k oflag=direct status=noxfer
279 dd: error writing '/dev/rbd?': Operation not permitted (glob)
280 [1-9]\d*\+0 records in (re)
281 [1-9]\d*\+0 records out (re)
282 [1]
283 $ sudo rbd unmap $DEV
284
285
286 Teardown
287 ========
288
289 $ rbd snap purge imgpart >/dev/null 2>&1
290 $ rbd rm imgpart >/dev/null 2>&1
291 $ rbd snap purge img >/dev/null 2>&1
292 $ rbd rm img >/dev/null 2>&1
293