Talk:Data Structures

From btrfs Wiki
(Difference between revisions)
Jump to: navigation, search
(added section "btrfs_super_block" re conflicting {type="__le64", length=4} lines in the table in that section)
 
m
 
(One intermediate revision by one user not shown)
Line 2: Line 2:
 
== btrfs_super_block  ==
 
== btrfs_super_block  ==
  
Some of the lines in this table have both "'''__le64'''" as type [little-endian 64-bit integer...  signedness unspecified :-( ...  should be (at _least_) 8 bytes long, regardless of signedness] but have a "length" of '''4''' in that column of the table.  _Something_ is definitely wrong _somewhere_.  Does anybody want me to go to the kernel sources and find "The Truth" and fix the table?
+
Some of the lines in this table have both "'''__le64'''" as "Type" [little-endian 64-bit integer...  signedness unspecified :-( ...  should be (at _least_) 8 bytes long, regardless of signedness] but have a "Size" of '''4''' or '''2''' in that column of the table.  _Something_ is definitely wrong _somewhere_.  Does anybody want me to go to the kernel sources and find "The Truth" and fix the table?
 +
 
 +
I will  add a table snippet that shows the current problem [as of Feb. 17 2021 in the Eastern USA]
 +
 
 +
{| class="wikitable" border="1"
 +
!colspan="5"|struct btrfs_super_block
 +
|-
 +
! Off
 +
! Size
 +
! Type
 +
! field
 +
! Description
 +
|-
 +
| align="right" | 90
 +
| align="right" | <span style="color: red">4</span>
 +
| <span style="color: red">__le64</span>
 +
| sectorsize
 +
| sectorsize
 +
|-
 +
| align="right" | 94
 +
| align="right" | <span style="color: red">4</span>
 +
| <span style="color: red">__le64</span>
 +
| nodesize
 +
| nodesize
 +
|-
 +
| align="right" | 98
 +
| align="right" | <span style="color: red">4</span>
 +
| <span style="color: red">__le64</span>
 +
| __unused_leafsize
 +
| leafsize
 +
|-
 +
| align="right" | 9c
 +
| align="right" | <span style="color: red">4</span>
 +
| <span style="color: red">__le64</span>
 +
| stripesize
 +
| stripesize
 +
|-
 +
| align="right" | a0
 +
| align="right" | <span style="color: red">4</span>
 +
| <span style="color: red">__le64</span>
 +
| sys_chunk_array_size
 +
| sys_chunk_array_size
 +
|-
 +
| align="right" | c4
 +
| align="right" | <span style="color: red">2</span>
 +
| <span style="color: red">__le64</span>
 +
| csum_type
 +
| csum_type - Btrfs currently uses the CRC32c little-endian hash function with seed -1.
 +
|-
 +
|}

Latest revision as of 08:53, 6 March 2021

[edit] btrfs_super_block

Some of the lines in this table have both "__le64" as "Type" [little-endian 64-bit integer... signedness unspecified :-( ... should be (at _least_) 8 bytes long, regardless of signedness] but have a "Size" of 4 or 2 in that column of the table. _Something_ is definitely wrong _somewhere_. Does anybody want me to go to the kernel sources and find "The Truth" and fix the table?

I will add a table snippet that shows the current problem [as of Feb. 17 2021 in the Eastern USA]

struct btrfs_super_block
Off Size Type field Description
90 4 __le64 sectorsize sectorsize
94 4 __le64 nodesize nodesize
98 4 __le64 __unused_leafsize leafsize
9c 4 __le64 stripesize stripesize
a0 4 __le64 sys_chunk_array_size sys_chunk_array_size
c4 2 __le64 csum_type csum_type - Btrfs currently uses the CRC32c little-endian hash function with seed -1.
Personal tools