Fix fdblocks accounting, need to consider cleared agfl blocks too; add shortcut ...
[xfstests-dev.git] / 062.out
1 QA output created by 062
2 meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
3 data     = bsize=XXX blocks=XXX, imaxpct=PCT
4          = sunit=XXX swidth=XXX, unwritten=X
5 naming   =VERN bsize=XXX
6 log      =LDEV bsize=XXX blocks=XXX
7 realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
8 *** create test bed
9 SCRATCH_MNT
10 SCRATCH_MNT/dev
11 SCRATCH_MNT/dev/b
12 SCRATCH_MNT/dev/c
13 SCRATCH_MNT/dev/p
14 SCRATCH_MNT/dir
15 SCRATCH_MNT/lnk
16 SCRATCH_MNT/reg
17
18 === TYPE reg; NAMESPACE user
19
20 *** set/get one initially empty attribute
21 # file: SCRATCH_MNT/reg
22 user.name
23
24 *** overwrite empty, set several new attributes
25 *** fetch several attribute names and values (hex)
26 # file: SCRATCH_MNT/reg
27 user.name=0xbabe
28 user.name2=0xdeadbeef
29 user.name3=0xdeface
30
31 *** fetch several attribute names and values (base64)
32 # file: SCRATCH_MNT/reg
33 user.name=0sur4=
34 user.name2=0s3q2+7w==
35 user.name3=0s3vrO
36
37 *** shrink value of an existing attribute
38 # file: SCRATCH_MNT/reg
39 user.name=0xbabe
40 user.name2=0xdeaf
41 user.name3=0xdeface
42
43 *** grow value of existing attribute
44 # file: SCRATCH_MNT/reg
45 user.name=0xbabe
46 user.name2=0xdecade
47 user.name3=0xdeface
48
49 *** set an empty value for second attribute
50 # file: SCRATCH_MNT/reg
51 user.name2
52
53 *** overwrite empty value
54 # file: SCRATCH_MNT/reg
55 user.name2=0xcafe
56
57 *** remove attribute
58 SCRATCH_MNT/reg: user.name2: No such attribute
59 *** final list (strings, type=reg, nsp=user)
60 # file: SCRATCH_MNT/reg
61 user.name=0xbabe
62 user.name3=0xdeface
63
64
65 === TYPE dir; NAMESPACE user
66
67 *** set/get one initially empty attribute
68 # file: SCRATCH_MNT/dir
69 user.name
70
71 *** overwrite empty, set several new attributes
72 *** fetch several attribute names and values (hex)
73 # file: SCRATCH_MNT/dir
74 user.name=0xbabe
75 user.name2=0xdeadbeef
76 user.name3=0xdeface
77
78 *** fetch several attribute names and values (base64)
79 # file: SCRATCH_MNT/dir
80 user.name=0sur4=
81 user.name2=0s3q2+7w==
82 user.name3=0s3vrO
83
84 *** shrink value of an existing attribute
85 # file: SCRATCH_MNT/dir
86 user.name=0xbabe
87 user.name2=0xdeaf
88 user.name3=0xdeface
89
90 *** grow value of existing attribute
91 # file: SCRATCH_MNT/dir
92 user.name=0xbabe
93 user.name2=0xdecade
94 user.name3=0xdeface
95
96 *** set an empty value for second attribute
97 # file: SCRATCH_MNT/dir
98 user.name2
99
100 *** overwrite empty value
101 # file: SCRATCH_MNT/dir
102 user.name2=0xcafe
103
104 *** remove attribute
105 SCRATCH_MNT/dir: user.name2: No such attribute
106 *** final list (strings, type=dir, nsp=user)
107 # file: SCRATCH_MNT/dir
108 user.name=0xbabe
109 user.name3=0xdeface
110
111
112 === TYPE lnk; NAMESPACE user
113
114 *** set/get one initially empty attribute
115 # file: SCRATCH_MNT/lnk
116 user.name
117
118 *** overwrite empty, set several new attributes
119 *** fetch several attribute names and values (hex)
120 # file: SCRATCH_MNT/lnk
121 user.name=0xbabe
122 user.name2=0xdeadbeef
123 user.name3=0xdeface
124
125 *** fetch several attribute names and values (base64)
126 # file: SCRATCH_MNT/lnk
127 user.name=0sur4=
128 user.name2=0s3q2+7w==
129 user.name3=0s3vrO
130
131 *** shrink value of an existing attribute
132 # file: SCRATCH_MNT/lnk
133 user.name=0xbabe
134 user.name2=0xdeaf
135 user.name3=0xdeface
136
137 *** grow value of existing attribute
138 # file: SCRATCH_MNT/lnk
139 user.name=0xbabe
140 user.name2=0xdecade
141 user.name3=0xdeface
142
143 *** set an empty value for second attribute
144 # file: SCRATCH_MNT/lnk
145 user.name2
146
147 *** overwrite empty value
148 # file: SCRATCH_MNT/lnk
149 user.name2=0xcafe
150
151 *** remove attribute
152 SCRATCH_MNT/lnk: user.name2: No such attribute
153 *** final list (strings, type=lnk, nsp=user)
154 # file: SCRATCH_MNT/lnk
155 user.name=0xbabe
156 user.name3=0xdeface
157
158
159 === TYPE dev/b; NAMESPACE user
160
161 *** set/get one initially empty attribute
162 # file: SCRATCH_MNT/dev/b
163 user.name
164
165 *** overwrite empty, set several new attributes
166 *** fetch several attribute names and values (hex)
167 # file: SCRATCH_MNT/dev/b
168 user.name=0xbabe
169 user.name2=0xdeadbeef
170 user.name3=0xdeface
171
172 *** fetch several attribute names and values (base64)
173 # file: SCRATCH_MNT/dev/b
174 user.name=0sur4=
175 user.name2=0s3q2+7w==
176 user.name3=0s3vrO
177
178 *** shrink value of an existing attribute
179 # file: SCRATCH_MNT/dev/b
180 user.name=0xbabe
181 user.name2=0xdeaf
182 user.name3=0xdeface
183
184 *** grow value of existing attribute
185 # file: SCRATCH_MNT/dev/b
186 user.name=0xbabe
187 user.name2=0xdecade
188 user.name3=0xdeface
189
190 *** set an empty value for second attribute
191 # file: SCRATCH_MNT/dev/b
192 user.name2
193
194 *** overwrite empty value
195 # file: SCRATCH_MNT/dev/b
196 user.name2=0xcafe
197
198 *** remove attribute
199 SCRATCH_MNT/dev/b: user.name2: No such attribute
200 *** final list (strings, type=dev/b, nsp=user)
201 # file: SCRATCH_MNT/dev/b
202 user.name=0xbabe
203 user.name3=0xdeface
204
205
206 === TYPE dev/c; NAMESPACE user
207
208 *** set/get one initially empty attribute
209 # file: SCRATCH_MNT/dev/c
210 user.name
211
212 *** overwrite empty, set several new attributes
213 *** fetch several attribute names and values (hex)
214 # file: SCRATCH_MNT/dev/c
215 user.name=0xbabe
216 user.name2=0xdeadbeef
217 user.name3=0xdeface
218
219 *** fetch several attribute names and values (base64)
220 # file: SCRATCH_MNT/dev/c
221 user.name=0sur4=
222 user.name2=0s3q2+7w==
223 user.name3=0s3vrO
224
225 *** shrink value of an existing attribute
226 # file: SCRATCH_MNT/dev/c
227 user.name=0xbabe
228 user.name2=0xdeaf
229 user.name3=0xdeface
230
231 *** grow value of existing attribute
232 # file: SCRATCH_MNT/dev/c
233 user.name=0xbabe
234 user.name2=0xdecade
235 user.name3=0xdeface
236
237 *** set an empty value for second attribute
238 # file: SCRATCH_MNT/dev/c
239 user.name2
240
241 *** overwrite empty value
242 # file: SCRATCH_MNT/dev/c
243 user.name2=0xcafe
244
245 *** remove attribute
246 SCRATCH_MNT/dev/c: user.name2: No such attribute
247 *** final list (strings, type=dev/c, nsp=user)
248 # file: SCRATCH_MNT/dev/c
249 user.name=0xbabe
250 user.name3=0xdeface
251
252
253 === TYPE dev/p; NAMESPACE user
254
255 *** set/get one initially empty attribute
256 # file: SCRATCH_MNT/dev/p
257 user.name
258
259 *** overwrite empty, set several new attributes
260 *** fetch several attribute names and values (hex)
261 # file: SCRATCH_MNT/dev/p
262 user.name=0xbabe
263 user.name2=0xdeadbeef
264 user.name3=0xdeface
265
266 *** fetch several attribute names and values (base64)
267 # file: SCRATCH_MNT/dev/p
268 user.name=0sur4=
269 user.name2=0s3q2+7w==
270 user.name3=0s3vrO
271
272 *** shrink value of an existing attribute
273 # file: SCRATCH_MNT/dev/p
274 user.name=0xbabe
275 user.name2=0xdeaf
276 user.name3=0xdeface
277
278 *** grow value of existing attribute
279 # file: SCRATCH_MNT/dev/p
280 user.name=0xbabe
281 user.name2=0xdecade
282 user.name3=0xdeface
283
284 *** set an empty value for second attribute
285 # file: SCRATCH_MNT/dev/p
286 user.name2
287
288 *** overwrite empty value
289 # file: SCRATCH_MNT/dev/p
290 user.name2=0xcafe
291
292 *** remove attribute
293 SCRATCH_MNT/dev/p: user.name2: No such attribute
294 *** final list (strings, type=dev/p, nsp=user)
295 # file: SCRATCH_MNT/dev/p
296 user.name=0xbabe
297 user.name3=0xdeface
298
299
300 === TYPE reg; NAMESPACE trusted
301
302 *** set/get one initially empty attribute
303 # file: SCRATCH_MNT/reg
304 trusted.name
305
306 *** overwrite empty, set several new attributes
307 *** fetch several attribute names and values (hex)
308 # file: SCRATCH_MNT/reg
309 trusted.name=0xbabe
310 trusted.name2=0xdeadbeef
311 trusted.name3=0xdeface
312
313 *** fetch several attribute names and values (base64)
314 # file: SCRATCH_MNT/reg
315 trusted.name=0sur4=
316 trusted.name2=0s3q2+7w==
317 trusted.name3=0s3vrO
318
319 *** shrink value of an existing attribute
320 # file: SCRATCH_MNT/reg
321 trusted.name=0xbabe
322 trusted.name2=0xdeaf
323 trusted.name3=0xdeface
324
325 *** grow value of existing attribute
326 # file: SCRATCH_MNT/reg
327 trusted.name=0xbabe
328 trusted.name2=0xdecade
329 trusted.name3=0xdeface
330
331 *** set an empty value for second attribute
332 # file: SCRATCH_MNT/reg
333 trusted.name2
334
335 *** overwrite empty value
336 # file: SCRATCH_MNT/reg
337 trusted.name2=0xcafe
338
339 *** remove attribute
340 SCRATCH_MNT/reg: trusted.name2: No such attribute
341 *** final list (strings, type=reg, nsp=trusted)
342 # file: SCRATCH_MNT/reg
343 trusted.name=0xbabe
344 trusted.name3=0xdeface
345 user.name=0xbabe
346 user.name3=0xdeface
347
348
349 === TYPE dir; NAMESPACE trusted
350
351 *** set/get one initially empty attribute
352 # file: SCRATCH_MNT/dir
353 trusted.name
354
355 *** overwrite empty, set several new attributes
356 *** fetch several attribute names and values (hex)
357 # file: SCRATCH_MNT/dir
358 trusted.name=0xbabe
359 trusted.name2=0xdeadbeef
360 trusted.name3=0xdeface
361
362 *** fetch several attribute names and values (base64)
363 # file: SCRATCH_MNT/dir
364 trusted.name=0sur4=
365 trusted.name2=0s3q2+7w==
366 trusted.name3=0s3vrO
367
368 *** shrink value of an existing attribute
369 # file: SCRATCH_MNT/dir
370 trusted.name=0xbabe
371 trusted.name2=0xdeaf
372 trusted.name3=0xdeface
373
374 *** grow value of existing attribute
375 # file: SCRATCH_MNT/dir
376 trusted.name=0xbabe
377 trusted.name2=0xdecade
378 trusted.name3=0xdeface
379
380 *** set an empty value for second attribute
381 # file: SCRATCH_MNT/dir
382 trusted.name2
383
384 *** overwrite empty value
385 # file: SCRATCH_MNT/dir
386 trusted.name2=0xcafe
387
388 *** remove attribute
389 SCRATCH_MNT/dir: trusted.name2: No such attribute
390 *** final list (strings, type=dir, nsp=trusted)
391 # file: SCRATCH_MNT/dir
392 trusted.name=0xbabe
393 trusted.name3=0xdeface
394 user.name=0xbabe
395 user.name3=0xdeface
396
397
398 === TYPE lnk; NAMESPACE trusted
399
400 *** set/get one initially empty attribute
401 # file: SCRATCH_MNT/lnk
402 trusted.name
403
404 *** overwrite empty, set several new attributes
405 *** fetch several attribute names and values (hex)
406 # file: SCRATCH_MNT/lnk
407 trusted.name=0xbabe
408 trusted.name2=0xdeadbeef
409 trusted.name3=0xdeface
410
411 *** fetch several attribute names and values (base64)
412 # file: SCRATCH_MNT/lnk
413 trusted.name=0sur4=
414 trusted.name2=0s3q2+7w==
415 trusted.name3=0s3vrO
416
417 *** shrink value of an existing attribute
418 # file: SCRATCH_MNT/lnk
419 trusted.name=0xbabe
420 trusted.name2=0xdeaf
421 trusted.name3=0xdeface
422
423 *** grow value of existing attribute
424 # file: SCRATCH_MNT/lnk
425 trusted.name=0xbabe
426 trusted.name2=0xdecade
427 trusted.name3=0xdeface
428
429 *** set an empty value for second attribute
430 # file: SCRATCH_MNT/lnk
431 trusted.name2
432
433 *** overwrite empty value
434 # file: SCRATCH_MNT/lnk
435 trusted.name2=0xcafe
436
437 *** remove attribute
438 SCRATCH_MNT/lnk: trusted.name2: No such attribute
439 *** final list (strings, type=lnk, nsp=trusted)
440 # file: SCRATCH_MNT/lnk
441 trusted.name=0xbabe
442 trusted.name3=0xdeface
443 user.name=0xbabe
444 user.name3=0xdeface
445
446
447 === TYPE dev/b; NAMESPACE trusted
448
449 *** set/get one initially empty attribute
450 # file: SCRATCH_MNT/dev/b
451 trusted.name
452
453 *** overwrite empty, set several new attributes
454 *** fetch several attribute names and values (hex)
455 # file: SCRATCH_MNT/dev/b
456 trusted.name=0xbabe
457 trusted.name2=0xdeadbeef
458 trusted.name3=0xdeface
459
460 *** fetch several attribute names and values (base64)
461 # file: SCRATCH_MNT/dev/b
462 trusted.name=0sur4=
463 trusted.name2=0s3q2+7w==
464 trusted.name3=0s3vrO
465
466 *** shrink value of an existing attribute
467 # file: SCRATCH_MNT/dev/b
468 trusted.name=0xbabe
469 trusted.name2=0xdeaf
470 trusted.name3=0xdeface
471
472 *** grow value of existing attribute
473 # file: SCRATCH_MNT/dev/b
474 trusted.name=0xbabe
475 trusted.name2=0xdecade
476 trusted.name3=0xdeface
477
478 *** set an empty value for second attribute
479 # file: SCRATCH_MNT/dev/b
480 trusted.name2
481
482 *** overwrite empty value
483 # file: SCRATCH_MNT/dev/b
484 trusted.name2=0xcafe
485
486 *** remove attribute
487 SCRATCH_MNT/dev/b: trusted.name2: No such attribute
488 *** final list (strings, type=dev/b, nsp=trusted)
489 # file: SCRATCH_MNT/dev/b
490 trusted.name=0xbabe
491 trusted.name3=0xdeface
492 user.name=0xbabe
493 user.name3=0xdeface
494
495
496 === TYPE dev/c; NAMESPACE trusted
497
498 *** set/get one initially empty attribute
499 # file: SCRATCH_MNT/dev/c
500 trusted.name
501
502 *** overwrite empty, set several new attributes
503 *** fetch several attribute names and values (hex)
504 # file: SCRATCH_MNT/dev/c
505 trusted.name=0xbabe
506 trusted.name2=0xdeadbeef
507 trusted.name3=0xdeface
508
509 *** fetch several attribute names and values (base64)
510 # file: SCRATCH_MNT/dev/c
511 trusted.name=0sur4=
512 trusted.name2=0s3q2+7w==
513 trusted.name3=0s3vrO
514
515 *** shrink value of an existing attribute
516 # file: SCRATCH_MNT/dev/c
517 trusted.name=0xbabe
518 trusted.name2=0xdeaf
519 trusted.name3=0xdeface
520
521 *** grow value of existing attribute
522 # file: SCRATCH_MNT/dev/c
523 trusted.name=0xbabe
524 trusted.name2=0xdecade
525 trusted.name3=0xdeface
526
527 *** set an empty value for second attribute
528 # file: SCRATCH_MNT/dev/c
529 trusted.name2
530
531 *** overwrite empty value
532 # file: SCRATCH_MNT/dev/c
533 trusted.name2=0xcafe
534
535 *** remove attribute
536 SCRATCH_MNT/dev/c: trusted.name2: No such attribute
537 *** final list (strings, type=dev/c, nsp=trusted)
538 # file: SCRATCH_MNT/dev/c
539 trusted.name=0xbabe
540 trusted.name3=0xdeface
541 user.name=0xbabe
542 user.name3=0xdeface
543
544
545 === TYPE dev/p; NAMESPACE trusted
546
547 *** set/get one initially empty attribute
548 # file: SCRATCH_MNT/dev/p
549 trusted.name
550
551 *** overwrite empty, set several new attributes
552 *** fetch several attribute names and values (hex)
553 # file: SCRATCH_MNT/dev/p
554 trusted.name=0xbabe
555 trusted.name2=0xdeadbeef
556 trusted.name3=0xdeface
557
558 *** fetch several attribute names and values (base64)
559 # file: SCRATCH_MNT/dev/p
560 trusted.name=0sur4=
561 trusted.name2=0s3q2+7w==
562 trusted.name3=0s3vrO
563
564 *** shrink value of an existing attribute
565 # file: SCRATCH_MNT/dev/p
566 trusted.name=0xbabe
567 trusted.name2=0xdeaf
568 trusted.name3=0xdeface
569
570 *** grow value of existing attribute
571 # file: SCRATCH_MNT/dev/p
572 trusted.name=0xbabe
573 trusted.name2=0xdecade
574 trusted.name3=0xdeface
575
576 *** set an empty value for second attribute
577 # file: SCRATCH_MNT/dev/p
578 trusted.name2
579
580 *** overwrite empty value
581 # file: SCRATCH_MNT/dev/p
582 trusted.name2=0xcafe
583
584 *** remove attribute
585 SCRATCH_MNT/dev/p: trusted.name2: No such attribute
586 *** final list (strings, type=dev/p, nsp=trusted)
587 # file: SCRATCH_MNT/dev/p
588 trusted.name=0xbabe
589 trusted.name3=0xdeface
590 user.name=0xbabe
591 user.name3=0xdeface
592
593
594
595 *** extend test bed
596 SCRATCH_MNT
597 SCRATCH_MNT/descend
598 SCRATCH_MNT/descend/and
599 SCRATCH_MNT/descend/down
600 SCRATCH_MNT/descend/down/here
601 SCRATCH_MNT/dev
602 SCRATCH_MNT/dev/b
603 SCRATCH_MNT/dev/c
604 SCRATCH_MNT/dev/p
605 SCRATCH_MNT/dir
606 SCRATCH_MNT/here
607 SCRATCH_MNT/here/up
608 SCRATCH_MNT/here/up/ascend
609 SCRATCH_MNT/lnk
610 SCRATCH_MNT/reg
611
612 *** directory descent with us following symlinks
613 # file: SCRATCH_MNT/reg
614 trusted.name=0xbabe
615 trusted.name3=0xdeface
616 user.name=0xbabe
617 user.name3=0xdeface
618
619 # file: SCRATCH_MNT/dir
620 trusted.name=0xbabe
621 trusted.name3=0xdeface
622 user.name=0xbabe
623 user.name3=0xdeface
624
625 # file: SCRATCH_MNT/dev/b
626 trusted.name=0xbabe
627 trusted.name3=0xdeface
628 user.name=0xbabe
629 user.name3=0xdeface
630
631 # file: SCRATCH_MNT/dev/c
632 trusted.name=0xbabe
633 trusted.name3=0xdeface
634 user.name=0xbabe
635 user.name3=0xdeface
636
637 # file: SCRATCH_MNT/dev/p
638 trusted.name=0xbabe
639 trusted.name3=0xdeface
640 user.name=0xbabe
641 user.name3=0xdeface
642
643 # file: SCRATCH_MNT/here
644 trusted.9=0x3837
645 trusted.a=0x6263
646
647 # file: SCRATCH_MNT/here/up
648 trusted.9=0x3837
649 trusted.a=0x6263
650
651 # file: SCRATCH_MNT/here/up/ascend
652 trusted.9=0x3837
653 trusted.a=0x6263
654
655 # file: SCRATCH_MNT/descend
656 user.1=0x3233
657 user.x=0x797a
658
659 # file: SCRATCH_MNT/descend/down
660 user.1=0x3233
661 user.x=0x797a
662
663 # file: SCRATCH_MNT/descend/down/here
664 user.1=0x3233
665 user.x=0x797a
666
667
668 *** directory descent without following symlinks
669 # file: SCRATCH_MNT/reg
670 trusted.name=0xbabe
671 trusted.name3=0xdeface
672 user.name=0xbabe
673 user.name3=0xdeface
674
675 # file: SCRATCH_MNT/dir
676 trusted.name=0xbabe
677 trusted.name3=0xdeface
678 user.name=0xbabe
679 user.name3=0xdeface
680
681 # file: SCRATCH_MNT/dev/b
682 trusted.name=0xbabe
683 trusted.name3=0xdeface
684 user.name=0xbabe
685 user.name3=0xdeface
686
687 # file: SCRATCH_MNT/dev/c
688 trusted.name=0xbabe
689 trusted.name3=0xdeface
690 user.name=0xbabe
691 user.name3=0xdeface
692
693 # file: SCRATCH_MNT/dev/p
694 trusted.name=0xbabe
695 trusted.name3=0xdeface
696 user.name=0xbabe
697 user.name3=0xdeface
698
699 # file: SCRATCH_MNT/here
700 trusted.9=0x3837
701 trusted.a=0x6263
702
703 # file: SCRATCH_MNT/here/up
704 trusted.9=0x3837
705 trusted.a=0x6263
706
707 # file: SCRATCH_MNT/here/up/ascend
708 trusted.9=0x3837
709 trusted.a=0x6263
710
711 # file: SCRATCH_MNT/descend
712 user.1=0x3233
713 user.x=0x797a
714
715 # file: SCRATCH_MNT/descend/down
716 user.1=0x3233
717 user.x=0x797a
718
719 # file: SCRATCH_MNT/descend/down/here
720 user.1=0x3233
721 user.x=0x797a
722
723
724
725 *** backup everything
726 *** clear out the scratch device
727 *** reset test bed with no extended attributes
728 *** create test bed
729 SCRATCH_MNT
730 SCRATCH_MNT/dev
731 SCRATCH_MNT/dev/b
732 SCRATCH_MNT/dev/c
733 SCRATCH_MNT/dev/p
734 SCRATCH_MNT/dir
735 SCRATCH_MNT/lnk
736 SCRATCH_MNT/reg
737 *** extend test bed
738 SCRATCH_MNT
739 SCRATCH_MNT/descend
740 SCRATCH_MNT/descend/and
741 SCRATCH_MNT/descend/down
742 SCRATCH_MNT/descend/down/here
743 SCRATCH_MNT/dev
744 SCRATCH_MNT/dev/b
745 SCRATCH_MNT/dev/c
746 SCRATCH_MNT/dev/p
747 SCRATCH_MNT/dir
748 SCRATCH_MNT/here
749 SCRATCH_MNT/here/up
750 SCRATCH_MNT/here/up/ascend
751 SCRATCH_MNT/lnk
752 SCRATCH_MNT/reg
753 *** restore everything
754 *** compare before and after backups
755
756 *** unmount