Hi btrfs folks,
                I am working on btrfs filesystem on how it manages the free 
space. And found out btrfs maintain a ctree which manages the physical location 
of the chunks and stripes of the filesystem.
Btrfs-debug-tree also gives the information on the chunk tree

I created btrfs on single device and two device.I have attached the output of 
both on running btrfs-debug-tree.
For single device sum of all the length in the chunks will add upto the total 
used bytes which is expected behavior.

But for two devices sum of all lengths in the chunks does not add to the total 
bytes .Am I missing something .
Also I notice that for the second device the superblock location 0x10000 is not 
considered as used .

I would be really grateful if you folks can answer my query.

I hav run these tests on SLES11-sp2-x86
Kernel 3.0.13.0.27-default

If you want any further clarification I would be wiiling to help you guys on 
this.

Thanks,
Santosh Hosamani



________________________________

http://www.mindtree.com/email/disclaimer.html
root tree
leaf 29364224 items 9 free space 2349 generation 4 owner 1
fs uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
chunk uuid e7e5467e-ef4e-4b47-ac37-198c1cc575b9
        item 0 key (EXTENT_TREE ROOT_ITEM 0) itemoff 3756 itemsize 239
                root data bytenr 29368320 level 0 dirid 0 refs 1 gen 4
        item 1 key (DEV_TREE ROOT_ITEM 0) itemoff 3517 itemsize 239
                root data bytenr 29372416 level 0 dirid 0 refs 1 gen 4
        item 2 key (FS_TREE INODE_REF 6) itemoff 3500 itemsize 17
                inode ref index 0 namelen 7 name: default
        item 3 key (FS_TREE ROOT_ITEM 0) itemoff 3261 itemsize 239
                root data bytenr 29360128 level 0 dirid 256 refs 1 gen 4
        item 4 key (ROOT_TREE_DIR INODE_ITEM 0) itemoff 3101 itemsize 160
                inode generation 3 size 0 block group 0 mode 40555 links 1
        item 5 key (ROOT_TREE_DIR INODE_REF 6) itemoff 3089 itemsize 12
                inode ref index 0 namelen 2 name: ..
        item 6 key (ROOT_TREE_DIR DIR_ITEM 2378154706) itemoff 3052 itemsize 37
                location key (FS_TREE ROOT_ITEM 18446744073709551615) type 2
                namelen 7 datalen 0 name: default
        item 7 key (CSUM_TREE ROOT_ITEM 0) itemoff 2813 itemsize 239
                root data bytenr 29376512 level 0 dirid 0 refs 1 gen 4
        item 8 key (DATA_RELOC_TREE ROOT_ITEM 0) itemoff 2574 itemsize 239
                root data bytenr 29380608 level 0 dirid 256 refs 1 gen 4
chunk tree
leaf 20971520 items 8 free space 3023 generation 4 owner 3
fs uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
chunk uuid e7e5467e-ef4e-4b47-ac37-198c1cc575b9
        item 0 key (DEV_ITEMS DEV_ITEM 1) itemoff 3897 itemsize 98
                dev item devid 1 total_bytes 3221225472 bytes used 673579008
        item 1 key (DEV_ITEMS DEV_ITEM 2) itemoff 3799 itemsize 98
                dev item devid 2 total_bytes 3221225472 bytes used 652607488
        item 2 key (FIRST_CHUNK_TREE CHUNK_ITEM 0) itemoff 3719 itemsize 80
                chunk length 4194304 owner 2 type 2 num_stripes 1
                        stripe 0 devid 1 offset 0
        item 3 key (FIRST_CHUNK_TREE CHUNK_ITEM 4194304) itemoff 3639 itemsize 
80
                chunk length 8388608 owner 2 type 4 num_stripes 1
                        stripe 0 devid 1 offset 4194304
        item 4 key (FIRST_CHUNK_TREE CHUNK_ITEM 12582912) itemoff 3559 itemsize 
80
                chunk length 8388608 owner 2 type 1 num_stripes 1
                        stripe 0 devid 1 offset 12582912
        item 5 key (FIRST_CHUNK_TREE CHUNK_ITEM 20971520) itemoff 3447 itemsize 
112
                chunk length 8388608 owner 2 type 18 num_stripes 2
                        stripe 0 devid 2 offset 1048576
                        stripe 1 devid 1 offset 20971520
        item 6 key (FIRST_CHUNK_TREE CHUNK_ITEM 29360128) itemoff 3335 itemsize 
112
                chunk length 322109440 owner 2 type 20 num_stripes 2
                        stripe 0 devid 2 offset 9437184
                        stripe 1 devid 1 offset 29360128
        item 7 key (FIRST_CHUNK_TREE CHUNK_ITEM 351469568) itemoff 3223 
itemsize 112
                chunk length 644218880 owner 2 type 9 num_stripes 2
                        stripe 0 devid 2 offset 331546624
                        stripe 1 devid 1 offset 351469568
extent tree key (EXTENT_TREE ROOT_ITEM 0) 
leaf 29368320 items 13 free space 3169 generation 4 owner 2
fs uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
chunk uuid e7e5467e-ef4e-4b47-ac37-198c1cc575b9
        item 0 key (0 BLOCK_GROUP_ITEM 4194304) itemoff 3971 itemsize 24
                block group used 0 chunk_objectid 256 flags 2
        item 1 key (4194304 BLOCK_GROUP_ITEM 8388608) itemoff 3947 itemsize 24
                block group used 0 chunk_objectid 256 flags 4
        item 2 key (12582912 BLOCK_GROUP_ITEM 8388608) itemoff 3923 itemsize 24
                block group used 0 chunk_objectid 256 flags 1
        item 3 key (20971520 EXTENT_ITEM 4096) itemoff 3872 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (1 d8 1) level 0
                tree block backref root 3
        item 4 key (20971520 BLOCK_GROUP_ITEM 8388608) itemoff 3848 itemsize 24
                block group used 4096 chunk_objectid 256 flags 18
        item 5 key (29360128 EXTENT_ITEM 4096) itemoff 3797 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (256 1 0) level 0
                tree block backref root 5
        item 6 key (29360128 BLOCK_GROUP_ITEM 322109440) itemoff 3773 itemsize 
24
                block group used 24576 chunk_objectid 256 flags 20
        item 7 key (29364224 EXTENT_ITEM 4096) itemoff 3722 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (2 84 0) level 0
                tree block backref root 1
        item 8 key (29368320 EXTENT_ITEM 4096) itemoff 3671 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (0 c0 4194304) level 0
                tree block backref root 2
        item 9 key (29372416 EXTENT_ITEM 4096) itemoff 3620 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (1 cc 0) level 0
                tree block backref root 4
        item 10 key (29376512 EXTENT_ITEM 4096) itemoff 3569 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (0 0 0) level 0
                tree block backref root 7
        item 11 key (29380608 EXTENT_ITEM 4096) itemoff 3518 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (256 1 0) level 0
                tree block backref root 18446744073709551607
        item 12 key (351469568 BLOCK_GROUP_ITEM 644218880) itemoff 3494 
itemsize 24
                block group used 0 chunk_objectid 256 flags 9
device tree key (DEV_TREE ROOT_ITEM 0) 
leaf 29372416 items 9 free space 3338 generation 4 owner 4
fs uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
chunk uuid e7e5467e-ef4e-4b47-ac37-198c1cc575b9
        item 0 key (1 DEV_EXTENT 0) itemoff 3947 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 0 length 4194304
        item 1 key (1 DEV_EXTENT 4194304) itemoff 3899 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 4194304 length 8388608
        item 2 key (1 DEV_EXTENT 12582912) itemoff 3851 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 12582912 length 8388608
        item 3 key (1 DEV_EXTENT 20971520) itemoff 3803 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 20971520 length 8388608
        item 4 key (1 DEV_EXTENT 29360128) itemoff 3755 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 29360128 length 322109440
        item 5 key (1 DEV_EXTENT 351469568) itemoff 3707 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 351469568 length 322109440
        item 6 key (2 DEV_EXTENT 1048576) itemoff 3659 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 20971520 length 8388608
        item 7 key (2 DEV_EXTENT 9437184) itemoff 3611 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 29360128 length 322109440
        item 8 key (2 DEV_EXTENT 331546624) itemoff 3563 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 351469568 length 322109440
fs tree key (FS_TREE ROOT_ITEM 0) 
leaf 29360128 items 2 free space 3773 generation 4 owner 5
fs uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
chunk uuid e7e5467e-ef4e-4b47-ac37-198c1cc575b9
        item 0 key (256 INODE_ITEM 0) itemoff 3835 itemsize 160
                inode generation 3 size 0 block group 0 mode 40555 links 1
        item 1 key (256 INODE_REF 256) itemoff 3823 itemsize 12
                inode ref index 0 namelen 2 name: ..
checksum tree key (CSUM_TREE ROOT_ITEM 0) 
leaf 29376512 items 0 free space 3995 generation 4 owner 7
fs uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
chunk uuid e7e5467e-ef4e-4b47-ac37-198c1cc575b9
data reloc tree key (DATA_RELOC_TREE ROOT_ITEM 0) 
leaf 29380608 items 2 free space 3773 generation 4 owner 18446744073709551607
fs uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
chunk uuid e7e5467e-ef4e-4b47-ac37-198c1cc575b9
        item 0 key (256 INODE_ITEM 0) itemoff 3835 itemsize 160
                inode generation 3 size 0 block group 0 mode 40555 links 1
        item 1 key (256 INODE_REF 256) itemoff 3823 itemsize 12
                inode ref index 0 namelen 2 name: ..
total bytes 6442450944
bytes used 28672
uuid 22d1b011-b53a-423f-9f61-ca6d5f4192c7
Btrfs v0.19+
root tree
leaf 29364224 items 9 free space 2349 generation 4 owner 1
fs uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
chunk uuid e279f69e-7a5f-401a-b56a-755134965695
        item 0 key (EXTENT_TREE ROOT_ITEM 0) itemoff 3756 itemsize 239
                root data bytenr 29368320 level 0 dirid 0 refs 1 gen 4
        item 1 key (DEV_TREE ROOT_ITEM 0) itemoff 3517 itemsize 239
                root data bytenr 29372416 level 0 dirid 0 refs 1 gen 4
        item 2 key (FS_TREE INODE_REF 6) itemoff 3500 itemsize 17
                inode ref index 0 namelen 7 name: default
        item 3 key (FS_TREE ROOT_ITEM 0) itemoff 3261 itemsize 239
                root data bytenr 29360128 level 0 dirid 256 refs 1 gen 4
        item 4 key (ROOT_TREE_DIR INODE_ITEM 0) itemoff 3101 itemsize 160
                inode generation 3 size 0 block group 0 mode 40555 links 1
        item 5 key (ROOT_TREE_DIR INODE_REF 6) itemoff 3089 itemsize 12
                inode ref index 0 namelen 2 name: ..
        item 6 key (ROOT_TREE_DIR DIR_ITEM 2378154706) itemoff 3052 itemsize 37
                location key (FS_TREE ROOT_ITEM 18446744073709551615) type 2
                namelen 7 datalen 0 name: default
        item 7 key (CSUM_TREE ROOT_ITEM 0) itemoff 2813 itemsize 239
                root data bytenr 29376512 level 0 dirid 0 refs 1 gen 4
        item 8 key (DATA_RELOC_TREE ROOT_ITEM 0) itemoff 2574 itemsize 239
                root data bytenr 29380608 level 0 dirid 256 refs 1 gen 4
chunk tree
leaf 20971520 items 6 free space 3283 generation 4 owner 3
fs uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
chunk uuid e279f69e-7a5f-401a-b56a-755134965695
        item 0 key (DEV_ITEMS DEV_ITEM 1) itemoff 3897 itemsize 98
                dev item devid 1 total_bytes 3221225472 bytes used 359792640
        item 1 key (FIRST_CHUNK_TREE CHUNK_ITEM 0) itemoff 3817 itemsize 80
                chunk length 4194304 owner 2 type 2 num_stripes 1
                        stripe 0 devid 1 offset 0
        item 2 key (FIRST_CHUNK_TREE CHUNK_ITEM 4194304) itemoff 3737 itemsize 
80
                chunk length 8388608 owner 2 type 4 num_stripes 1
                        stripe 0 devid 1 offset 4194304
        item 3 key (FIRST_CHUNK_TREE CHUNK_ITEM 12582912) itemoff 3657 itemsize 
80
                chunk length 8388608 owner 2 type 1 num_stripes 1
                        stripe 0 devid 1 offset 12582912
        item 4 key (FIRST_CHUNK_TREE CHUNK_ITEM 20971520) itemoff 3545 itemsize 
112
                chunk length 8388608 owner 2 type 34 num_stripes 2
                        stripe 0 devid 1 offset 20971520
                        stripe 1 devid 1 offset 29360128
        item 5 key (FIRST_CHUNK_TREE CHUNK_ITEM 29360128) itemoff 3433 itemsize 
112
                chunk length 161021952 owner 2 type 36 num_stripes 2
                        stripe 0 devid 1 offset 37748736
                        stripe 1 devid 1 offset 198770688
extent tree key (EXTENT_TREE ROOT_ITEM 0) 
leaf 29368320 items 12 free space 3218 generation 4 owner 2
fs uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
chunk uuid e279f69e-7a5f-401a-b56a-755134965695
        item 0 key (0 BLOCK_GROUP_ITEM 4194304) itemoff 3971 itemsize 24
                block group used 0 chunk_objectid 256 flags 2
        item 1 key (4194304 BLOCK_GROUP_ITEM 8388608) itemoff 3947 itemsize 24
                block group used 0 chunk_objectid 256 flags 4
        item 2 key (12582912 BLOCK_GROUP_ITEM 8388608) itemoff 3923 itemsize 24
                block group used 0 chunk_objectid 256 flags 1
        item 3 key (20971520 EXTENT_ITEM 4096) itemoff 3872 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (1 d8 1) level 0
                tree block backref root 3
        item 4 key (20971520 BLOCK_GROUP_ITEM 8388608) itemoff 3848 itemsize 24
                block group used 4096 chunk_objectid 256 flags 34
        item 5 key (29360128 EXTENT_ITEM 4096) itemoff 3797 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (256 1 0) level 0
                tree block backref root 5
        item 6 key (29360128 BLOCK_GROUP_ITEM 161021952) itemoff 3773 itemsize 
24
                block group used 24576 chunk_objectid 256 flags 36
        item 7 key (29364224 EXTENT_ITEM 4096) itemoff 3722 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (2 84 0) level 0
                tree block backref root 1
        item 8 key (29368320 EXTENT_ITEM 4096) itemoff 3671 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (0 c0 4194304) level 0
                tree block backref root 2
        item 9 key (29372416 EXTENT_ITEM 4096) itemoff 3620 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (1 cc 0) level 0
                tree block backref root 4
        item 10 key (29376512 EXTENT_ITEM 4096) itemoff 3569 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (0 0 0) level 0
                tree block backref root 7
        item 11 key (29380608 EXTENT_ITEM 4096) itemoff 3518 itemsize 51
                extent refs 1 gen 4 flags 2
                tree block key (256 1 0) level 0
                tree block backref root 18446744073709551607
device tree key (DEV_TREE ROOT_ITEM 0) 
leaf 29372416 items 7 free space 3484 generation 4 owner 4
fs uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
chunk uuid e279f69e-7a5f-401a-b56a-755134965695
        item 0 key (1 DEV_EXTENT 0) itemoff 3947 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 0 length 4194304
        item 1 key (1 DEV_EXTENT 4194304) itemoff 3899 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 4194304 length 8388608
        item 2 key (1 DEV_EXTENT 12582912) itemoff 3851 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 12582912 length 8388608
        item 3 key (1 DEV_EXTENT 20971520) itemoff 3803 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 20971520 length 8388608
        item 4 key (1 DEV_EXTENT 29360128) itemoff 3755 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 20971520 length 8388608
        item 5 key (1 DEV_EXTENT 37748736) itemoff 3707 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 29360128 length 161021952
        item 6 key (1 DEV_EXTENT 198770688) itemoff 3659 itemsize 48
                dev extent chunk_tree 3
                chunk objectid 256 chunk offset 29360128 length 161021952
fs tree key (FS_TREE ROOT_ITEM 0) 
leaf 29360128 items 2 free space 3773 generation 4 owner 5
fs uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
chunk uuid e279f69e-7a5f-401a-b56a-755134965695
        item 0 key (256 INODE_ITEM 0) itemoff 3835 itemsize 160
                inode generation 3 size 0 block group 0 mode 40555 links 1
        item 1 key (256 INODE_REF 256) itemoff 3823 itemsize 12
                inode ref index 0 namelen 2 name: ..
checksum tree key (CSUM_TREE ROOT_ITEM 0) 
leaf 29376512 items 0 free space 3995 generation 4 owner 7
fs uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
chunk uuid e279f69e-7a5f-401a-b56a-755134965695
data reloc tree key (DATA_RELOC_TREE ROOT_ITEM 0) 
leaf 29380608 items 2 free space 3773 generation 4 owner 18446744073709551607
fs uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
chunk uuid e279f69e-7a5f-401a-b56a-755134965695
        item 0 key (256 INODE_ITEM 0) itemoff 3835 itemsize 160
                inode generation 3 size 0 block group 0 mode 40555 links 1
        item 1 key (256 INODE_REF 256) itemoff 3823 itemsize 12
                inode ref index 0 namelen 2 name: ..
total bytes 3221225472
bytes used 28672
uuid 6dcc7c2b-6b77-4c9d-bafb-201627ef82bf
Btrfs v0.19+

Reply via email to