]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | ls on empty pool never containing images |
2 | ======================================== | |
9f95a23c | 3 | $ ceph osd pool create rbd_other |
7c673cae | 4 | pool 'rbd_other' created |
d2e6a577 | 5 | $ rbd pool init rbd_other |
7c673cae FG |
6 | $ rados -p rbd rm rbd_directory >/dev/null 2>&1 || true |
7 | $ rbd ls | |
8 | $ rbd ls --format json | |
181888fb | 9 | [] |
7c673cae | 10 | $ rbd ls --format xml |
181888fb | 11 | <images></images> |
7c673cae FG |
12 | |
13 | create | |
14 | ======= | |
11fdf7f2 | 15 | $ RBD_FORCE_ALLOW_V1=1 rbd create -s 1024 --image-format 1 foo --log-to-stderr=false |
7c673cae FG |
16 | rbd: image format 1 is deprecated |
17 | $ rbd create -s 512 --image-format 2 bar | |
18 | $ rbd create -s 2048 --image-format 2 --image-feature layering baz | |
11fdf7f2 | 19 | $ RBD_FORCE_ALLOW_V1=1 rbd create -s 1 --image-format 1 quux --log-to-stderr=false |
7c673cae FG |
20 | rbd: image format 1 is deprecated |
21 | $ rbd create -s 1G --image-format 2 quuy | |
22 | ||
23 | snapshot | |
24 | ======== | |
25 | $ rbd snap create bar@snap | |
26 | $ rbd resize -s 1024 --no-progress bar | |
27 | $ rbd resize -s 2G --no-progress quuy | |
28 | $ rbd snap create bar@snap2 | |
29 | $ rbd snap create foo@snap | |
30 | ||
31 | clone | |
32 | ===== | |
33 | $ rbd snap protect bar@snap | |
34 | $ rbd clone --image-feature layering,exclusive-lock,object-map,fast-diff bar@snap rbd_other/child | |
35 | $ rbd snap create rbd_other/child@snap | |
36 | $ rbd flatten rbd_other/child 2> /dev/null | |
37 | $ rbd bench rbd_other/child --io-type write --io-pattern seq --io-total 1B > /dev/null 2>&1 | |
38 | $ rbd clone bar@snap rbd_other/deep-flatten-child | |
39 | $ rbd snap create rbd_other/deep-flatten-child@snap | |
40 | $ rbd flatten rbd_other/deep-flatten-child 2> /dev/null | |
41 | ||
42 | lock | |
43 | ==== | |
44 | $ rbd lock add quux id | |
45 | $ rbd lock add baz id1 --shared tag | |
46 | $ rbd lock add baz id2 --shared tag | |
47 | $ rbd lock add baz id3 --shared tag | |
48 | ||
49 | test formatting | |
50 | =============== | |
51 | $ rbd children foo@snap | |
52 | $ rbd children bar@snap | |
53 | rbd_other/child | |
54 | $ rbd children bar@snap2 | |
55 | TODO: figure out why .* does not match the block_name_prefix line in rbd info. | |
56 | For now, use a more inclusive regex. | |
57 | $ rbd info foo | |
58 | rbd image 'foo': | |
11fdf7f2 TL |
59 | \tsize 1 GiB in 256 objects (esc) |
60 | \torder 22 (4 MiB objects) (esc) | |
61 | \tsnapshot_count: 1 (esc) | |
7c673cae FG |
62 | [^^]+ (re) |
63 | \tformat: 1 (esc) | |
9f95a23c | 64 | $ rbd info foo --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
65 | { |
66 | "block_name_prefix": "rb.0.*", (glob) | |
67 | "format": 1, | |
11fdf7f2 | 68 | "id": "", |
7c673cae FG |
69 | "name": "foo", |
70 | "object_size": 4194304, | |
71 | "objects": 256, | |
72 | "order": 22, | |
11fdf7f2 TL |
73 | "size": 1073741824, |
74 | "snapshot_count": 1 | |
7c673cae | 75 | } |
9f95a23c | 76 | $ rbd info foo --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
77 | <image> |
78 | <name>foo</name> | |
9f95a23c | 79 | <id/> |
7c673cae FG |
80 | <size>1073741824</size> |
81 | <objects>256</objects> | |
82 | <order>22</order> | |
83 | <object_size>4194304</object_size> | |
11fdf7f2 | 84 | <snapshot_count>1</snapshot_count> |
7c673cae FG |
85 | <block_name_prefix>rb.0.*</block_name_prefix> (glob) |
86 | <format>1</format> | |
87 | </image> | |
88 | $ rbd info foo@snap | |
89 | rbd image 'foo': | |
11fdf7f2 TL |
90 | \tsize 1 GiB in 256 objects (esc) |
91 | \torder 22 (4 MiB objects) (esc) | |
92 | \tsnapshot_count: 1 (esc) | |
7c673cae FG |
93 | [^^]+ (re) |
94 | \tformat: 1 (esc) | |
95 | \tprotected: False (esc) | |
9f95a23c | 96 | $ rbd info foo@snap --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
97 | { |
98 | "block_name_prefix": "rb.0.*", (glob) | |
99 | "format": 1, | |
11fdf7f2 | 100 | "id": "", |
7c673cae FG |
101 | "name": "foo", |
102 | "object_size": 4194304, | |
103 | "objects": 256, | |
104 | "order": 22, | |
105 | "protected": "false", | |
11fdf7f2 TL |
106 | "size": 1073741824, |
107 | "snapshot_count": 1 | |
7c673cae | 108 | } |
9f95a23c | 109 | $ rbd info foo@snap --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
110 | <image> |
111 | <name>foo</name> | |
9f95a23c | 112 | <id/> |
7c673cae FG |
113 | <size>1073741824</size> |
114 | <objects>256</objects> | |
115 | <order>22</order> | |
116 | <object_size>4194304</object_size> | |
11fdf7f2 | 117 | <snapshot_count>1</snapshot_count> |
7c673cae FG |
118 | <block_name_prefix>rb.0*</block_name_prefix> (glob) |
119 | <format>1</format> | |
120 | <protected>false</protected> | |
121 | </image> | |
122 | $ rbd info bar | |
123 | rbd image 'bar': | |
11fdf7f2 TL |
124 | \tsize 1 GiB in 256 objects (esc) |
125 | \torder 22 (4 MiB objects) (esc) | |
126 | \tsnapshot_count: 2 (esc) | |
127 | \tid:* (glob) | |
7c673cae FG |
128 | [^^]+ (re) |
129 | \tformat: 2 (esc) | |
130 | \tfeatures: layering, exclusive-lock, object-map, fast-diff, deep-flatten (esc) | |
11fdf7f2 | 131 | \top_features: (esc) |
7c673cae | 132 | \tflags: (esc) |
31f18b77 | 133 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
134 | \taccess_timestamp:* (glob) |
135 | \tmodify_timestamp:* (glob) | |
9f95a23c | 136 | $ rbd info bar --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 137 | { |
11fdf7f2 | 138 | "access_timestamp": "*", (glob) |
7c673cae | 139 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 140 | "create_timestamp": "*", (glob) |
7c673cae FG |
141 | "features": [ |
142 | "layering", | |
143 | "exclusive-lock", | |
144 | "object-map", | |
145 | "fast-diff", | |
146 | "deep-flatten" | |
147 | ], | |
148 | "flags": [], | |
149 | "format": 2, | |
11fdf7f2 TL |
150 | "id": "*", (glob) |
151 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
152 | "name": "bar", |
153 | "object_size": 4194304, | |
154 | "objects": 256, | |
11fdf7f2 | 155 | "op_features": [], |
7c673cae | 156 | "order": 22, |
11fdf7f2 TL |
157 | "size": 1073741824, |
158 | "snapshot_count": 2 | |
7c673cae | 159 | } |
9f95a23c | 160 | $ rbd info bar --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
161 | <image> |
162 | <name>bar</name> | |
11fdf7f2 | 163 | <id>*</id> (glob) |
7c673cae FG |
164 | <size>1073741824</size> |
165 | <objects>256</objects> | |
166 | <order>22</order> | |
167 | <object_size>4194304</object_size> | |
11fdf7f2 | 168 | <snapshot_count>2</snapshot_count> |
7c673cae FG |
169 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
170 | <format>2</format> | |
171 | <features> | |
172 | <feature>layering</feature> | |
173 | <feature>exclusive-lock</feature> | |
174 | <feature>object-map</feature> | |
175 | <feature>fast-diff</feature> | |
176 | <feature>deep-flatten</feature> | |
177 | </features> | |
9f95a23c TL |
178 | <op_features/> |
179 | <flags/> | |
31f18b77 | 180 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
181 | <access_timestamp>*</access_timestamp> (glob) |
182 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
183 | </image> |
184 | $ rbd info bar@snap | |
185 | rbd image 'bar': | |
11fdf7f2 TL |
186 | \tsize 512 MiB in 128 objects (esc) |
187 | \torder 22 (4 MiB objects) (esc) | |
188 | \tsnapshot_count: 2 (esc) | |
189 | \tid:* (glob) | |
7c673cae FG |
190 | [^^]+ (re) |
191 | \tformat: 2 (esc) | |
192 | \tfeatures: layering, exclusive-lock, object-map, fast-diff, deep-flatten (esc) | |
11fdf7f2 | 193 | \top_features: (esc) |
7c673cae | 194 | \tflags: (esc) |
31f18b77 | 195 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
196 | \taccess_timestamp:* (glob) |
197 | \tmodify_timestamp:* (glob) | |
7c673cae | 198 | \tprotected: True (esc) |
9f95a23c | 199 | $ rbd info bar@snap --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 200 | { |
11fdf7f2 | 201 | "access_timestamp": "*", (glob) |
7c673cae | 202 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 203 | "create_timestamp": "*", (glob) |
7c673cae FG |
204 | "features": [ |
205 | "layering", | |
206 | "exclusive-lock", | |
207 | "object-map", | |
208 | "fast-diff", | |
209 | "deep-flatten" | |
210 | ], | |
211 | "flags": [], | |
212 | "format": 2, | |
11fdf7f2 TL |
213 | "id": "*", (glob) |
214 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
215 | "name": "bar", |
216 | "object_size": 4194304, | |
217 | "objects": 128, | |
11fdf7f2 | 218 | "op_features": [], |
7c673cae FG |
219 | "order": 22, |
220 | "protected": "true", | |
11fdf7f2 TL |
221 | "size": 536870912, |
222 | "snapshot_count": 2 | |
7c673cae | 223 | } |
9f95a23c | 224 | $ rbd info bar@snap --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
225 | <image> |
226 | <name>bar</name> | |
11fdf7f2 | 227 | <id>*</id> (glob) |
7c673cae FG |
228 | <size>536870912</size> |
229 | <objects>128</objects> | |
230 | <order>22</order> | |
231 | <object_size>4194304</object_size> | |
11fdf7f2 | 232 | <snapshot_count>2</snapshot_count> |
7c673cae FG |
233 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
234 | <format>2</format> | |
235 | <features> | |
236 | <feature>layering</feature> | |
237 | <feature>exclusive-lock</feature> | |
238 | <feature>object-map</feature> | |
239 | <feature>fast-diff</feature> | |
240 | <feature>deep-flatten</feature> | |
241 | </features> | |
9f95a23c TL |
242 | <op_features/> |
243 | <flags/> | |
31f18b77 | 244 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
245 | <access_timestamp>*</access_timestamp> (glob) |
246 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
247 | <protected>true</protected> |
248 | </image> | |
249 | $ rbd info bar@snap2 | |
250 | rbd image 'bar': | |
11fdf7f2 TL |
251 | \tsize 1 GiB in 256 objects (esc) |
252 | \torder 22 (4 MiB objects) (esc) | |
253 | \tsnapshot_count: 2 (esc) | |
254 | \tid:* (glob) | |
7c673cae FG |
255 | [^^]+ (re) |
256 | \tformat: 2 (esc) | |
257 | \tfeatures: layering, exclusive-lock, object-map, fast-diff, deep-flatten (esc) | |
11fdf7f2 | 258 | \top_features: (esc) |
7c673cae | 259 | \tflags: (esc) |
31f18b77 | 260 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
261 | \taccess_timestamp:* (glob) |
262 | \tmodify_timestamp:* (glob) | |
7c673cae | 263 | \tprotected: False (esc) |
9f95a23c | 264 | $ rbd info bar@snap2 --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 265 | { |
11fdf7f2 | 266 | "access_timestamp": "*", (glob) |
7c673cae | 267 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 268 | "create_timestamp": "*", (glob) |
7c673cae FG |
269 | "features": [ |
270 | "layering", | |
271 | "exclusive-lock", | |
272 | "object-map", | |
273 | "fast-diff", | |
274 | "deep-flatten" | |
275 | ], | |
276 | "flags": [], | |
277 | "format": 2, | |
11fdf7f2 TL |
278 | "id": "*", (glob) |
279 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
280 | "name": "bar", |
281 | "object_size": 4194304, | |
282 | "objects": 256, | |
11fdf7f2 | 283 | "op_features": [], |
7c673cae FG |
284 | "order": 22, |
285 | "protected": "false", | |
11fdf7f2 TL |
286 | "size": 1073741824, |
287 | "snapshot_count": 2 | |
7c673cae | 288 | } |
9f95a23c | 289 | $ rbd info bar@snap2 --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
290 | <image> |
291 | <name>bar</name> | |
11fdf7f2 | 292 | <id>*</id> (glob) |
7c673cae FG |
293 | <size>1073741824</size> |
294 | <objects>256</objects> | |
295 | <order>22</order> | |
296 | <object_size>4194304</object_size> | |
11fdf7f2 | 297 | <snapshot_count>2</snapshot_count> |
7c673cae FG |
298 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
299 | <format>2</format> | |
300 | <features> | |
301 | <feature>layering</feature> | |
302 | <feature>exclusive-lock</feature> | |
303 | <feature>object-map</feature> | |
304 | <feature>fast-diff</feature> | |
305 | <feature>deep-flatten</feature> | |
306 | </features> | |
9f95a23c TL |
307 | <op_features/> |
308 | <flags/> | |
31f18b77 | 309 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
310 | <access_timestamp>*</access_timestamp> (glob) |
311 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
312 | <protected>false</protected> |
313 | </image> | |
314 | $ rbd info baz | |
315 | rbd image 'baz': | |
11fdf7f2 TL |
316 | \tsize 2 GiB in 512 objects (esc) |
317 | \torder 22 (4 MiB objects) (esc) | |
318 | \tsnapshot_count: 0 (esc) | |
319 | \tid:* (glob) | |
7c673cae FG |
320 | [^^]+ (re) |
321 | \tformat: 2 (esc) | |
322 | \tfeatures: layering (esc) | |
11fdf7f2 | 323 | \top_features: (esc) |
7c673cae | 324 | \tflags: (esc) |
31f18b77 | 325 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
326 | \taccess_timestamp:* (glob) |
327 | \tmodify_timestamp:* (glob) | |
9f95a23c | 328 | $ rbd info baz --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 329 | { |
11fdf7f2 | 330 | "access_timestamp": "*", (glob) |
7c673cae | 331 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 332 | "create_timestamp": "*", (glob) |
7c673cae FG |
333 | "features": [ |
334 | "layering" | |
335 | ], | |
336 | "flags": [], | |
337 | "format": 2, | |
11fdf7f2 TL |
338 | "id": "*", (glob) |
339 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
340 | "name": "baz", |
341 | "object_size": 4194304, | |
342 | "objects": 512, | |
11fdf7f2 | 343 | "op_features": [], |
7c673cae | 344 | "order": 22, |
11fdf7f2 TL |
345 | "size": 2147483648, |
346 | "snapshot_count": 0 | |
7c673cae | 347 | } |
9f95a23c | 348 | $ rbd info baz --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
349 | <image> |
350 | <name>baz</name> | |
11fdf7f2 | 351 | <id>*</id> (glob) |
7c673cae FG |
352 | <size>2147483648</size> |
353 | <objects>512</objects> | |
354 | <order>22</order> | |
355 | <object_size>4194304</object_size> | |
11fdf7f2 | 356 | <snapshot_count>0</snapshot_count> |
7c673cae FG |
357 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
358 | <format>2</format> | |
359 | <features> | |
360 | <feature>layering</feature> | |
361 | </features> | |
9f95a23c TL |
362 | <op_features/> |
363 | <flags/> | |
31f18b77 | 364 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
365 | <access_timestamp>*</access_timestamp> (glob) |
366 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
367 | </image> |
368 | $ rbd info quux | |
369 | rbd image 'quux': | |
11fdf7f2 TL |
370 | \tsize 1 MiB in 1 objects (esc) |
371 | \torder 22 (4 MiB objects) (esc) | |
372 | \tsnapshot_count: 0 (esc) | |
7c673cae FG |
373 | [^^]+ (re) |
374 | \tformat: 1 (esc) | |
9f95a23c | 375 | $ rbd info quux --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
376 | { |
377 | "block_name_prefix": "rb.0.*", (glob) | |
378 | "format": 1, | |
11fdf7f2 | 379 | "id": "", |
7c673cae FG |
380 | "name": "quux", |
381 | "object_size": 4194304, | |
382 | "objects": 1, | |
383 | "order": 22, | |
11fdf7f2 TL |
384 | "size": 1048576, |
385 | "snapshot_count": 0 | |
7c673cae | 386 | } |
9f95a23c | 387 | $ rbd info quux --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
388 | <image> |
389 | <name>quux</name> | |
9f95a23c | 390 | <id/> |
7c673cae FG |
391 | <size>1048576</size> |
392 | <objects>1</objects> | |
393 | <order>22</order> | |
394 | <object_size>4194304</object_size> | |
11fdf7f2 | 395 | <snapshot_count>0</snapshot_count> |
7c673cae FG |
396 | <block_name_prefix>rb.0.*</block_name_prefix> (glob) |
397 | <format>1</format> | |
398 | </image> | |
399 | $ rbd info rbd_other/child | |
400 | rbd image 'child': | |
11fdf7f2 TL |
401 | \tsize 512 MiB in 128 objects (esc) |
402 | \torder 22 (4 MiB objects) (esc) | |
403 | \tsnapshot_count: 1 (esc) | |
404 | \tid:* (glob) | |
7c673cae FG |
405 | [^^]+ (re) |
406 | \tformat: 2 (esc) | |
407 | \tfeatures: layering, exclusive-lock, object-map, fast-diff (esc) | |
11fdf7f2 | 408 | \top_features: (esc) |
7c673cae | 409 | \tflags: (esc) |
31f18b77 | 410 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
411 | \taccess_timestamp:* (glob) |
412 | \tmodify_timestamp:* (glob) | |
9f95a23c | 413 | $ rbd info rbd_other/child --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 414 | { |
11fdf7f2 | 415 | "access_timestamp": "*", (glob) |
7c673cae | 416 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 417 | "create_timestamp": "*", (glob) |
7c673cae FG |
418 | "features": [ |
419 | "layering", | |
420 | "exclusive-lock", | |
421 | "object-map", | |
422 | "fast-diff" | |
423 | ], | |
424 | "flags": [], | |
425 | "format": 2, | |
11fdf7f2 TL |
426 | "id": "*", (glob) |
427 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
428 | "name": "child", |
429 | "object_size": 4194304, | |
430 | "objects": 128, | |
11fdf7f2 | 431 | "op_features": [], |
7c673cae | 432 | "order": 22, |
11fdf7f2 TL |
433 | "size": 536870912, |
434 | "snapshot_count": 1 | |
7c673cae | 435 | } |
9f95a23c | 436 | $ rbd info rbd_other/child --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
437 | <image> |
438 | <name>child</name> | |
11fdf7f2 | 439 | <id>*</id> (glob) |
7c673cae FG |
440 | <size>536870912</size> |
441 | <objects>128</objects> | |
442 | <order>22</order> | |
443 | <object_size>4194304</object_size> | |
11fdf7f2 | 444 | <snapshot_count>1</snapshot_count> |
7c673cae FG |
445 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
446 | <format>2</format> | |
447 | <features> | |
448 | <feature>layering</feature> | |
449 | <feature>exclusive-lock</feature> | |
450 | <feature>object-map</feature> | |
451 | <feature>fast-diff</feature> | |
452 | </features> | |
9f95a23c TL |
453 | <op_features/> |
454 | <flags/> | |
31f18b77 | 455 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
456 | <access_timestamp>*</access_timestamp> (glob) |
457 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
458 | </image> |
459 | $ rbd info rbd_other/child@snap | |
460 | rbd image 'child': | |
11fdf7f2 TL |
461 | \tsize 512 MiB in 128 objects (esc) |
462 | \torder 22 (4 MiB objects) (esc) | |
463 | \tsnapshot_count: 1 (esc) | |
464 | \tid:* (glob) | |
7c673cae FG |
465 | [^^]+ (re) |
466 | \tformat: 2 (esc) | |
467 | \tfeatures: layering, exclusive-lock, object-map, fast-diff (esc) | |
11fdf7f2 | 468 | \top_features: (esc) |
7c673cae | 469 | \tflags: (esc) |
31f18b77 | 470 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
471 | \taccess_timestamp:* (glob) |
472 | \tmodify_timestamp:* (glob) | |
7c673cae FG |
473 | \tprotected: False (esc) |
474 | \tparent: rbd/bar@snap (esc) | |
11fdf7f2 | 475 | \toverlap: 512 MiB (esc) |
9f95a23c | 476 | $ rbd info rbd_other/child@snap --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 477 | { |
11fdf7f2 | 478 | "access_timestamp": "*", (glob) |
7c673cae | 479 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 480 | "create_timestamp": "*", (glob) |
7c673cae FG |
481 | "features": [ |
482 | "layering", | |
483 | "exclusive-lock", | |
484 | "object-map", | |
485 | "fast-diff" | |
486 | ], | |
487 | "flags": [], | |
488 | "format": 2, | |
11fdf7f2 TL |
489 | "id": "*", (glob) |
490 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
491 | "name": "child", |
492 | "object_size": 4194304, | |
493 | "objects": 128, | |
11fdf7f2 | 494 | "op_features": [], |
7c673cae FG |
495 | "order": 22, |
496 | "parent": { | |
11fdf7f2 | 497 | "id": "*", (glob) |
7c673cae FG |
498 | "image": "bar", |
499 | "overlap": 536870912, | |
500 | "pool": "rbd", | |
11fdf7f2 TL |
501 | "pool_namespace": "", |
502 | "snapshot": "snap", | |
503 | "trash": false | |
7c673cae FG |
504 | }, |
505 | "protected": "false", | |
11fdf7f2 TL |
506 | "size": 536870912, |
507 | "snapshot_count": 1 | |
7c673cae | 508 | } |
9f95a23c | 509 | $ rbd info rbd_other/child@snap --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
510 | <image> |
511 | <name>child</name> | |
11fdf7f2 | 512 | <id>*</id> (glob) |
7c673cae FG |
513 | <size>536870912</size> |
514 | <objects>128</objects> | |
515 | <order>22</order> | |
516 | <object_size>4194304</object_size> | |
11fdf7f2 | 517 | <snapshot_count>1</snapshot_count> |
7c673cae FG |
518 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
519 | <format>2</format> | |
520 | <features> | |
521 | <feature>layering</feature> | |
522 | <feature>exclusive-lock</feature> | |
523 | <feature>object-map</feature> | |
524 | <feature>fast-diff</feature> | |
525 | </features> | |
9f95a23c TL |
526 | <op_features/> |
527 | <flags/> | |
31f18b77 | 528 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
529 | <access_timestamp>*</access_timestamp> (glob) |
530 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
531 | <protected>false</protected> |
532 | <parent> | |
533 | <pool>rbd</pool> | |
9f95a23c | 534 | <pool_namespace/> |
7c673cae | 535 | <image>bar</image> |
11fdf7f2 | 536 | <id>*</id> (glob) |
7c673cae | 537 | <snapshot>snap</snapshot> |
11fdf7f2 | 538 | <trash>false</trash> |
7c673cae FG |
539 | <overlap>536870912</overlap> |
540 | </parent> | |
541 | </image> | |
542 | $ rbd info rbd_other/deep-flatten-child | |
543 | rbd image 'deep-flatten-child': | |
11fdf7f2 TL |
544 | \tsize 512 MiB in 128 objects (esc) |
545 | \torder 22 (4 MiB objects) (esc) | |
546 | \tsnapshot_count: 1 (esc) | |
547 | \tid:* (glob) | |
7c673cae FG |
548 | [^^]+ (re) |
549 | \tformat: 2 (esc) | |
550 | \tfeatures: layering, exclusive-lock, object-map, fast-diff, deep-flatten (esc) | |
11fdf7f2 | 551 | \top_features: (esc) |
7c673cae | 552 | \tflags: (esc) |
31f18b77 | 553 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
554 | \taccess_timestamp:* (glob) |
555 | \tmodify_timestamp:* (glob) | |
9f95a23c | 556 | $ rbd info rbd_other/deep-flatten-child --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 557 | { |
11fdf7f2 | 558 | "access_timestamp": "*", (glob) |
7c673cae | 559 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 560 | "create_timestamp": "*", (glob) |
7c673cae FG |
561 | "features": [ |
562 | "layering", | |
563 | "exclusive-lock", | |
564 | "object-map", | |
565 | "fast-diff", | |
566 | "deep-flatten" | |
567 | ], | |
568 | "flags": [], | |
569 | "format": 2, | |
11fdf7f2 TL |
570 | "id": "*", (glob) |
571 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
572 | "name": "deep-flatten-child", |
573 | "object_size": 4194304, | |
574 | "objects": 128, | |
11fdf7f2 | 575 | "op_features": [], |
7c673cae | 576 | "order": 22, |
11fdf7f2 TL |
577 | "size": 536870912, |
578 | "snapshot_count": 1 | |
7c673cae | 579 | } |
9f95a23c | 580 | $ rbd info rbd_other/deep-flatten-child --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
581 | <image> |
582 | <name>deep-flatten-child</name> | |
11fdf7f2 | 583 | <id>*</id> (glob) |
7c673cae FG |
584 | <size>536870912</size> |
585 | <objects>128</objects> | |
586 | <order>22</order> | |
587 | <object_size>4194304</object_size> | |
11fdf7f2 | 588 | <snapshot_count>1</snapshot_count> |
7c673cae FG |
589 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
590 | <format>2</format> | |
591 | <features> | |
592 | <feature>layering</feature> | |
593 | <feature>exclusive-lock</feature> | |
594 | <feature>object-map</feature> | |
595 | <feature>fast-diff</feature> | |
596 | <feature>deep-flatten</feature> | |
597 | </features> | |
9f95a23c TL |
598 | <op_features/> |
599 | <flags/> | |
31f18b77 | 600 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
601 | <access_timestamp>*</access_timestamp> (glob) |
602 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
603 | </image> |
604 | $ rbd info rbd_other/deep-flatten-child@snap | |
605 | rbd image 'deep-flatten-child': | |
11fdf7f2 TL |
606 | \tsize 512 MiB in 128 objects (esc) |
607 | \torder 22 (4 MiB objects) (esc) | |
608 | \tsnapshot_count: 1 (esc) | |
609 | \tid:* (glob) | |
7c673cae FG |
610 | [^^]+ (re) |
611 | \tformat: 2 (esc) | |
612 | \tfeatures: layering, exclusive-lock, object-map, fast-diff, deep-flatten (esc) | |
11fdf7f2 | 613 | \top_features: (esc) |
7c673cae | 614 | \tflags: (esc) |
31f18b77 | 615 | \tcreate_timestamp:* (glob) |
11fdf7f2 TL |
616 | \taccess_timestamp:* (glob) |
617 | \tmodify_timestamp:* (glob) | |
7c673cae | 618 | \tprotected: False (esc) |
9f95a23c | 619 | $ rbd info rbd_other/deep-flatten-child@snap --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 620 | { |
11fdf7f2 | 621 | "access_timestamp": "*", (glob) |
7c673cae | 622 | "block_name_prefix": "rbd_data.*", (glob) |
31f18b77 | 623 | "create_timestamp": "*", (glob) |
7c673cae FG |
624 | "features": [ |
625 | "layering", | |
626 | "exclusive-lock", | |
627 | "object-map", | |
628 | "fast-diff", | |
629 | "deep-flatten" | |
630 | ], | |
631 | "flags": [], | |
632 | "format": 2, | |
11fdf7f2 TL |
633 | "id": "*", (glob) |
634 | "modify_timestamp": "*", (glob) | |
7c673cae FG |
635 | "name": "deep-flatten-child", |
636 | "object_size": 4194304, | |
637 | "objects": 128, | |
11fdf7f2 | 638 | "op_features": [], |
7c673cae FG |
639 | "order": 22, |
640 | "protected": "false", | |
11fdf7f2 TL |
641 | "size": 536870912, |
642 | "snapshot_count": 1 | |
7c673cae | 643 | } |
9f95a23c | 644 | $ rbd info rbd_other/deep-flatten-child@snap --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
645 | <image> |
646 | <name>deep-flatten-child</name> | |
11fdf7f2 | 647 | <id>*</id> (glob) |
7c673cae FG |
648 | <size>536870912</size> |
649 | <objects>128</objects> | |
650 | <order>22</order> | |
651 | <object_size>4194304</object_size> | |
11fdf7f2 | 652 | <snapshot_count>1</snapshot_count> |
7c673cae FG |
653 | <block_name_prefix>rbd_data.*</block_name_prefix> (glob) |
654 | <format>2</format> | |
655 | <features> | |
656 | <feature>layering</feature> | |
657 | <feature>exclusive-lock</feature> | |
658 | <feature>object-map</feature> | |
659 | <feature>fast-diff</feature> | |
660 | <feature>deep-flatten</feature> | |
661 | </features> | |
9f95a23c TL |
662 | <op_features/> |
663 | <flags/> | |
31f18b77 | 664 | <create_timestamp>*</create_timestamp> (glob) |
11fdf7f2 TL |
665 | <access_timestamp>*</access_timestamp> (glob) |
666 | <modify_timestamp>*</modify_timestamp> (glob) | |
7c673cae FG |
667 | <protected>false</protected> |
668 | </image> | |
669 | $ rbd list | |
670 | foo | |
671 | quux | |
672 | bar | |
673 | baz | |
674 | quuy | |
9f95a23c | 675 | $ rbd list --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
676 | [ |
677 | "foo", | |
678 | "quux", | |
679 | "bar", | |
680 | "baz", | |
681 | "quuy" | |
682 | ] | |
9f95a23c | 683 | $ rbd list --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
684 | <images> |
685 | <name>foo</name> | |
686 | <name>quux</name> | |
687 | <name>bar</name> | |
688 | <name>baz</name> | |
689 | <name>quuy</name> | |
690 | </images> | |
691 | $ rbd list -l | |
9f95a23c TL |
692 | NAME SIZE PARENT FMT PROT LOCK |
693 | foo 1 GiB 1 | |
694 | foo@snap 1 GiB 1 | |
695 | quux 1 MiB 1 excl | |
696 | bar 1 GiB 2 | |
697 | bar@snap 512 MiB 2 yes | |
698 | bar@snap2 1 GiB 2 | |
699 | baz 2 GiB 2 shr | |
700 | quuy 2 GiB 2 | |
701 | $ rbd list -l --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' | |
7c673cae FG |
702 | [ |
703 | { | |
704 | "format": 1, | |
9f95a23c | 705 | "id": "", |
7c673cae FG |
706 | "image": "foo", |
707 | "size": 1073741824 | |
708 | }, | |
709 | { | |
710 | "format": 1, | |
9f95a23c | 711 | "id": "", |
7c673cae FG |
712 | "image": "foo", |
713 | "protected": "false", | |
714 | "size": 1073741824, | |
9f95a23c TL |
715 | "snapshot": "snap", |
716 | "snapshot_id": * (glob) | |
7c673cae FG |
717 | }, |
718 | { | |
719 | "format": 1, | |
9f95a23c | 720 | "id": "", |
7c673cae FG |
721 | "image": "quux", |
722 | "lock_type": "exclusive", | |
723 | "size": 1048576 | |
724 | }, | |
725 | { | |
726 | "format": 2, | |
9f95a23c | 727 | "id": "*", (glob) |
7c673cae FG |
728 | "image": "bar", |
729 | "size": 1073741824 | |
730 | }, | |
731 | { | |
732 | "format": 2, | |
9f95a23c | 733 | "id": "*", (glob) |
7c673cae FG |
734 | "image": "bar", |
735 | "protected": "true", | |
736 | "size": 536870912, | |
9f95a23c TL |
737 | "snapshot": "snap", |
738 | "snapshot_id": * (glob) | |
7c673cae FG |
739 | }, |
740 | { | |
741 | "format": 2, | |
9f95a23c | 742 | "id": "*", (glob) |
7c673cae FG |
743 | "image": "bar", |
744 | "protected": "false", | |
745 | "size": 1073741824, | |
9f95a23c TL |
746 | "snapshot": "snap2", |
747 | "snapshot_id": * (glob) | |
7c673cae FG |
748 | }, |
749 | { | |
750 | "format": 2, | |
9f95a23c | 751 | "id": "*", (glob) |
7c673cae FG |
752 | "image": "baz", |
753 | "lock_type": "shared", | |
754 | "size": 2147483648 | |
755 | }, | |
756 | { | |
757 | "format": 2, | |
9f95a23c | 758 | "id": "*", (glob) |
7c673cae FG |
759 | "image": "quuy", |
760 | "size": 2147483648 | |
761 | } | |
762 | ] | |
9f95a23c | 763 | $ rbd list -l --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
764 | <images> |
765 | <image> | |
766 | <image>foo</image> | |
9f95a23c | 767 | <id/> |
7c673cae FG |
768 | <size>1073741824</size> |
769 | <format>1</format> | |
770 | </image> | |
771 | <snapshot> | |
772 | <image>foo</image> | |
9f95a23c | 773 | <id/> |
7c673cae | 774 | <snapshot>snap</snapshot> |
9f95a23c | 775 | <snapshot_id>*</snapshot_id> (glob) |
7c673cae FG |
776 | <size>1073741824</size> |
777 | <format>1</format> | |
778 | <protected>false</protected> | |
779 | </snapshot> | |
780 | <image> | |
781 | <image>quux</image> | |
9f95a23c | 782 | <id/> |
7c673cae FG |
783 | <size>1048576</size> |
784 | <format>1</format> | |
785 | <lock_type>exclusive</lock_type> | |
786 | </image> | |
787 | <image> | |
788 | <image>bar</image> | |
9f95a23c | 789 | <id>*</id> (glob) |
7c673cae FG |
790 | <size>1073741824</size> |
791 | <format>2</format> | |
792 | </image> | |
793 | <snapshot> | |
794 | <image>bar</image> | |
9f95a23c | 795 | <id>*</id> (glob) |
7c673cae | 796 | <snapshot>snap</snapshot> |
9f95a23c | 797 | <snapshot_id>*</snapshot_id> (glob) |
7c673cae FG |
798 | <size>536870912</size> |
799 | <format>2</format> | |
800 | <protected>true</protected> | |
801 | </snapshot> | |
802 | <snapshot> | |
803 | <image>bar</image> | |
9f95a23c | 804 | <id>*</id> (glob) |
7c673cae | 805 | <snapshot>snap2</snapshot> |
9f95a23c | 806 | <snapshot_id>*</snapshot_id> (glob) |
7c673cae FG |
807 | <size>1073741824</size> |
808 | <format>2</format> | |
809 | <protected>false</protected> | |
810 | </snapshot> | |
811 | <image> | |
812 | <image>baz</image> | |
9f95a23c | 813 | <id>*</id> (glob) |
7c673cae FG |
814 | <size>2147483648</size> |
815 | <format>2</format> | |
816 | <lock_type>shared</lock_type> | |
817 | </image> | |
818 | <image> | |
819 | <image>quuy</image> | |
9f95a23c | 820 | <id>*</id> (glob) |
7c673cae FG |
821 | <size>2147483648</size> |
822 | <format>2</format> | |
823 | </image> | |
824 | </images> | |
825 | $ rbd list rbd_other | |
826 | child | |
827 | deep-flatten-child | |
9f95a23c | 828 | $ rbd list rbd_other --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
829 | [ |
830 | "child", | |
831 | "deep-flatten-child" | |
832 | ] | |
9f95a23c | 833 | $ rbd list rbd_other --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
834 | <images> |
835 | <name>child</name> | |
836 | <name>deep-flatten-child</name> | |
837 | </images> | |
838 | $ rbd list rbd_other -l | |
9f95a23c TL |
839 | NAME SIZE PARENT FMT PROT LOCK |
840 | child 512 MiB 2 | |
841 | child@snap 512 MiB rbd/bar@snap 2 | |
842 | deep-flatten-child 512 MiB 2 | |
843 | deep-flatten-child@snap 512 MiB 2 | |
844 | $ rbd list rbd_other -l --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' | |
7c673cae FG |
845 | [ |
846 | { | |
847 | "format": 2, | |
9f95a23c | 848 | "id": "*", (glob) |
7c673cae FG |
849 | "image": "child", |
850 | "size": 536870912 | |
851 | }, | |
852 | { | |
853 | "format": 2, | |
9f95a23c | 854 | "id": "*", (glob) |
7c673cae FG |
855 | "image": "child", |
856 | "parent": { | |
857 | "image": "bar", | |
858 | "pool": "rbd", | |
11fdf7f2 | 859 | "pool_namespace": "", |
7c673cae FG |
860 | "snapshot": "snap" |
861 | }, | |
862 | "protected": "false", | |
863 | "size": 536870912, | |
9f95a23c TL |
864 | "snapshot": "snap", |
865 | "snapshot_id": * (glob) | |
7c673cae FG |
866 | }, |
867 | { | |
868 | "format": 2, | |
9f95a23c | 869 | "id": "*", (glob) |
7c673cae FG |
870 | "image": "deep-flatten-child", |
871 | "size": 536870912 | |
872 | }, | |
873 | { | |
874 | "format": 2, | |
9f95a23c | 875 | "id": "*", (glob) |
7c673cae FG |
876 | "image": "deep-flatten-child", |
877 | "protected": "false", | |
878 | "size": 536870912, | |
9f95a23c TL |
879 | "snapshot": "snap", |
880 | "snapshot_id": * (glob) | |
7c673cae FG |
881 | } |
882 | ] | |
9f95a23c | 883 | $ rbd list rbd_other -l --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
884 | <images> |
885 | <image> | |
886 | <image>child</image> | |
9f95a23c | 887 | <id>*</id> (glob) |
7c673cae FG |
888 | <size>536870912</size> |
889 | <format>2</format> | |
890 | </image> | |
891 | <snapshot> | |
892 | <image>child</image> | |
9f95a23c | 893 | <id>*</id> (glob) |
7c673cae | 894 | <snapshot>snap</snapshot> |
9f95a23c | 895 | <snapshot_id>*</snapshot_id> (glob) |
7c673cae FG |
896 | <size>536870912</size> |
897 | <parent> | |
898 | <pool>rbd</pool> | |
9f95a23c | 899 | <pool_namespace/> |
7c673cae FG |
900 | <image>bar</image> |
901 | <snapshot>snap</snapshot> | |
902 | </parent> | |
903 | <format>2</format> | |
904 | <protected>false</protected> | |
905 | </snapshot> | |
906 | <image> | |
907 | <image>deep-flatten-child</image> | |
9f95a23c | 908 | <id>*</id> (glob) |
7c673cae FG |
909 | <size>536870912</size> |
910 | <format>2</format> | |
911 | </image> | |
912 | <snapshot> | |
913 | <image>deep-flatten-child</image> | |
9f95a23c | 914 | <id>*</id> (glob) |
7c673cae | 915 | <snapshot>snap</snapshot> |
9f95a23c | 916 | <snapshot_id>*</snapshot_id> (glob) |
7c673cae FG |
917 | <size>536870912</size> |
918 | <format>2</format> | |
919 | <protected>false</protected> | |
920 | </snapshot> | |
921 | </images> | |
922 | $ rbd lock list foo | |
9f95a23c | 923 | $ rbd lock list foo --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
11fdf7f2 | 924 | [] |
9f95a23c TL |
925 | $ rbd lock list foo --format xml | xmlstarlet format -s 2 -o || true |
926 | <locks/> | |
7c673cae FG |
927 | $ rbd lock list quux |
928 | There is 1 exclusive lock on this image. | |
929 | Locker*ID*Address* (glob) | |
930 | client.* id * (glob) | |
9f95a23c | 931 | $ rbd lock list quux --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
11fdf7f2 TL |
932 | [ |
933 | { | |
7c673cae | 934 | "address": "*", (glob) |
11fdf7f2 | 935 | "id": "id", |
7c673cae FG |
936 | "locker": "client.*" (glob) |
937 | } | |
11fdf7f2 | 938 | ] |
9f95a23c | 939 | $ rbd lock list quux --format xml | xmlstarlet format -s 2 -o || true |
7c673cae | 940 | <locks> |
11fdf7f2 TL |
941 | <lock> |
942 | <id>id</id> | |
7c673cae FG |
943 | <locker>client.*</locker> (glob) |
944 | <address>*</address> (glob) | |
11fdf7f2 | 945 | </lock> |
7c673cae FG |
946 | </locks> |
947 | $ rbd lock list baz | |
948 | There are 3 shared locks on this image. | |
949 | Lock tag: tag | |
950 | Locker*ID*Address* (glob) | |
951 | client.*id[123].* (re) | |
952 | client.*id[123].* (re) | |
953 | client.*id[123].* (re) | |
9f95a23c | 954 | $ rbd lock list baz --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
11fdf7f2 TL |
955 | [ |
956 | { | |
7c673cae | 957 | "address": "*", (glob) |
11fdf7f2 | 958 | "id": "id*", (glob) |
7c673cae FG |
959 | "locker": "client.*" (glob) |
960 | }, | |
11fdf7f2 | 961 | { |
7c673cae | 962 | "address": "*", (glob) |
11fdf7f2 | 963 | "id": "id*", (glob) |
7c673cae FG |
964 | "locker": "client.*" (glob) |
965 | }, | |
11fdf7f2 | 966 | { |
7c673cae | 967 | "address": "*", (glob) |
11fdf7f2 | 968 | "id": "id*", (glob) |
7c673cae FG |
969 | "locker": "client.*" (glob) |
970 | } | |
11fdf7f2 | 971 | ] |
9f95a23c | 972 | $ rbd lock list baz --format xml | xmlstarlet format -s 2 -o || true |
7c673cae | 973 | <locks> |
11fdf7f2 TL |
974 | <lock> |
975 | <id>id*</id> (glob) | |
7c673cae FG |
976 | <locker>client.*</locker> (glob) |
977 | <address>*</address> (glob) | |
11fdf7f2 TL |
978 | </lock> |
979 | <lock> | |
980 | <id>id*</id> (glob) | |
7c673cae FG |
981 | <locker>client.*</locker> (glob) |
982 | <address>*</address> (glob) | |
11fdf7f2 TL |
983 | </lock> |
984 | <lock> | |
985 | <id>id*</id> (glob) | |
7c673cae FG |
986 | <locker>client.*</locker> (glob) |
987 | <address>*</address> (glob) | |
11fdf7f2 | 988 | </lock> |
7c673cae FG |
989 | </locks> |
990 | $ rbd snap list foo | |
11fdf7f2 TL |
991 | SNAPID*NAME*SIZE*PROTECTED*TIMESTAMP* (glob) |
992 | *snap*1 GiB* (glob) | |
9f95a23c | 993 | $ rbd snap list foo --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
994 | [ |
995 | { | |
996 | "id": *, (glob) | |
997 | "name": "snap", | |
11fdf7f2 | 998 | "protected": "false", |
7c673cae FG |
999 | "size": 1073741824, |
1000 | "timestamp": "" | |
1001 | } | |
1002 | ] | |
9f95a23c | 1003 | $ rbd snap list foo --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
1004 | <snapshots> |
1005 | <snapshot> | |
1006 | <id>*</id> (glob) | |
1007 | <name>snap</name> | |
1008 | <size>1073741824</size> | |
11fdf7f2 | 1009 | <protected>false</protected> |
9f95a23c | 1010 | <timestamp/> |
7c673cae FG |
1011 | </snapshot> |
1012 | </snapshots> | |
1013 | $ rbd snap list bar | |
11fdf7f2 TL |
1014 | SNAPID*NAME*SIZE*PROTECTED*TIMESTAMP* (glob) |
1015 | *snap*512 MiB*yes* (glob) | |
1016 | *snap2*1 GiB* (glob) | |
9f95a23c | 1017 | $ rbd snap list bar --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
1018 | [ |
1019 | { | |
1020 | "id": *, (glob) | |
1021 | "name": "snap", | |
11fdf7f2 | 1022 | "protected": "true", |
7c673cae FG |
1023 | "size": 536870912, |
1024 | "timestamp": * (glob) | |
1025 | }, | |
1026 | { | |
1027 | "id": *, (glob) | |
1028 | "name": "snap2", | |
11fdf7f2 | 1029 | "protected": "false", |
7c673cae FG |
1030 | "size": 1073741824, |
1031 | "timestamp": * (glob) | |
1032 | } | |
1033 | ] | |
9f95a23c | 1034 | $ rbd snap list bar --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
1035 | <snapshots> |
1036 | <snapshot> | |
1037 | <id>*</id> (glob) | |
1038 | <name>snap</name> | |
1039 | <size>536870912</size> | |
11fdf7f2 | 1040 | <protected>true</protected> |
7c673cae FG |
1041 | <timestamp>*</timestamp> (glob) |
1042 | </snapshot> | |
1043 | <snapshot> | |
1044 | <id>*</id> (glob) | |
1045 | <name>snap2</name> | |
1046 | <size>1073741824</size> | |
11fdf7f2 | 1047 | <protected>false</protected> |
7c673cae FG |
1048 | <timestamp>*</timestamp> (glob) |
1049 | </snapshot> | |
1050 | </snapshots> | |
1051 | $ rbd snap list baz | |
9f95a23c | 1052 | $ rbd snap list baz --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae | 1053 | [] |
9f95a23c TL |
1054 | $ rbd snap list baz --format xml | xmlstarlet format -s 2 -o || true |
1055 | <snapshots/> | |
7c673cae | 1056 | $ rbd snap list rbd_other/child |
11fdf7f2 TL |
1057 | SNAPID*NAME*SIZE*PROTECTED*TIMESTAMP* (glob) |
1058 | *snap*512 MiB* (glob) | |
9f95a23c | 1059 | $ rbd snap list rbd_other/child --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' |
7c673cae FG |
1060 | [ |
1061 | { | |
1062 | "id": *, (glob) | |
1063 | "name": "snap", | |
11fdf7f2 | 1064 | "protected": "false", |
7c673cae FG |
1065 | "size": 536870912, |
1066 | "timestamp": * (glob) | |
1067 | } | |
1068 | ] | |
9f95a23c | 1069 | $ rbd snap list rbd_other/child --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
1070 | <snapshots> |
1071 | <snapshot> | |
1072 | <id>*</id> (glob) | |
1073 | <name>snap</name> | |
1074 | <size>536870912</size> | |
11fdf7f2 | 1075 | <protected>false</protected> |
7c673cae FG |
1076 | <timestamp>*</timestamp> (glob) |
1077 | </snapshot> | |
1078 | </snapshots> | |
1079 | $ rbd disk-usage --pool rbd_other 2>/dev/null | |
9f95a23c TL |
1080 | NAME PROVISIONED USED |
1081 | child@snap 512 MiB 0 B | |
1082 | child 512 MiB 4 MiB | |
1083 | deep-flatten-child@snap 512 MiB 0 B | |
1084 | deep-flatten-child 512 MiB 0 B | |
1085 | <TOTAL> 1 GiB 4 MiB | |
1086 | $ rbd disk-usage --pool rbd_other --format json | python3 -mjson.tool --sort-keys | sed 's/,$/, /' | |
7c673cae FG |
1087 | { |
1088 | "images": [ | |
1089 | { | |
9f95a23c | 1090 | "id": "*", (glob) |
7c673cae FG |
1091 | "name": "child", |
1092 | "provisioned_size": 536870912, | |
1093 | "snapshot": "snap", | |
9f95a23c | 1094 | "snapshot_id": *, (glob) |
7c673cae FG |
1095 | "used_size": 0 |
1096 | }, | |
1097 | { | |
9f95a23c | 1098 | "id": "*", (glob) |
7c673cae FG |
1099 | "name": "child", |
1100 | "provisioned_size": 536870912, | |
1101 | "used_size": 4194304 | |
1102 | }, | |
1103 | { | |
9f95a23c | 1104 | "id": "*", (glob) |
7c673cae FG |
1105 | "name": "deep-flatten-child", |
1106 | "provisioned_size": 536870912, | |
1107 | "snapshot": "snap", | |
9f95a23c | 1108 | "snapshot_id": *, (glob) |
7c673cae FG |
1109 | "used_size": 0 |
1110 | }, | |
1111 | { | |
9f95a23c | 1112 | "id": "*", (glob) |
7c673cae FG |
1113 | "name": "deep-flatten-child", |
1114 | "provisioned_size": 536870912, | |
1115 | "used_size": 0 | |
1116 | } | |
1117 | ], | |
1118 | "total_provisioned_size": 1073741824, | |
1119 | "total_used_size": 4194304 | |
1120 | } | |
9f95a23c | 1121 | $ rbd disk-usage --pool rbd_other --format xml | xmlstarlet format -s 2 -o || true |
7c673cae FG |
1122 | <stats> |
1123 | <images> | |
1124 | <image> | |
1125 | <name>child</name> | |
9f95a23c | 1126 | <id>*</id> (glob) |
7c673cae | 1127 | <snapshot>snap</snapshot> |
9f95a23c | 1128 | <snapshot_id>*</snapshot_id> (glob) |
7c673cae FG |
1129 | <provisioned_size>536870912</provisioned_size> |
1130 | <used_size>0</used_size> | |
1131 | </image> | |
1132 | <image> | |
1133 | <name>child</name> | |
9f95a23c | 1134 | <id>*</id> (glob) |
7c673cae FG |
1135 | <provisioned_size>536870912</provisioned_size> |
1136 | <used_size>4194304</used_size> | |
1137 | </image> | |
1138 | <image> | |
1139 | <name>deep-flatten-child</name> | |
9f95a23c | 1140 | <id>*</id> (glob) |
7c673cae | 1141 | <snapshot>snap</snapshot> |
9f95a23c | 1142 | <snapshot_id>*</snapshot_id> (glob) |
7c673cae FG |
1143 | <provisioned_size>536870912</provisioned_size> |
1144 | <used_size>0</used_size> | |
1145 | </image> | |
1146 | <image> | |
1147 | <name>deep-flatten-child</name> | |
9f95a23c | 1148 | <id>*</id> (glob) |
7c673cae FG |
1149 | <provisioned_size>536870912</provisioned_size> |
1150 | <used_size>0</used_size> | |
1151 | </image> | |
1152 | </images> | |
1153 | <total_provisioned_size>1073741824</total_provisioned_size> | |
1154 | <total_used_size>4194304</total_used_size> | |
1155 | </stats> | |
1156 | ||
1157 | # cleanup | |
1158 | $ rbd snap remove --no-progress rbd_other/deep-flatten-child@snap | |
1159 | $ rbd snap remove --no-progress rbd_other/child@snap | |
1160 | $ rbd snap unprotect bar@snap | |
1161 | $ rbd snap purge bar 2> /dev/null | |
1162 | $ rbd snap purge foo 2> /dev/null | |
1163 | $ rbd rm rbd_other/deep-flatten-child 2> /dev/null | |
1164 | $ rbd rm rbd_other/child 2> /dev/null | |
1165 | $ rbd rm foo 2> /dev/null | |
1166 | $ rbd rm bar 2> /dev/null | |
1167 | $ rbd rm quux 2> /dev/null | |
1168 | $ rbd rm quuy 2> /dev/null | |
1169 | $ rbd rm baz 2> /dev/null | |
1170 | $ ceph osd pool delete rbd_other rbd_other --yes-i-really-really-mean-it | |
1171 | pool 'rbd_other' removed |