[arch-general] btrfs kernel incompatibility?

Simeon Felis arch-general at sfelis.de
Thu Feb 6 21:00:41 UTC 2020


I have a btrfs raid1 on raspbian (kernel 4.19.75) which overheated. To fix the btrfs filesystem I attached the raid1 to my workstation with Arch Linux (kernel 5.5.1). I run scrub to identify broken files and fixed them. Furthermore I run --full-balance and defrag -r. All fine so far.

Now I can't mount the btrfs on raspbian any more (bad superblock). I checked with a blank raspbian and different boards, same result. On my Arch Linux workstation there are no problems.

The btrfs changelog [1] only mentions more checksums (xxhash, sha256...) as possible incompatible features between 4.19 and 5.5. However the raid1 is still crc32c (see below).

I'm afraid balance/scrub/defrag operations of my Arch Linux made the btrfs raid1 incompatible to older kernels. Is that plausible? How could I convert it back?


4.19.75 dmesg:

[   17.707873] GPT:Primary header thinks Alt. header is not at the end of the di
sk.
[   17.707889] GPT:7814037167 != 253879390758629
[   17.707895] GPT:Alternate GPT header not at the end of the disk.
[   17.707902] GPT:7814037167 != 253879390758629
[   17.707907] GPT: Use GNU Parted to correct GPT errors.
[   17.707977]  sdb: sdb1
[   17.709682] GPT:Primary header thinks Alt. header is not at the end of the disk.
[   17.709697] GPT:7814037167 != 253879390758629
[   17.709703] GPT:Alternate GPT header not at the end of the disk.
[   17.709710] GPT:7814037167 != 253879390758629
[   17.709715] GPT: Use GNU Parted to correct GPT errors.
[   17.709787]  sda: sda1
[   17.710776] sd 0:0:0:1: [sdb] Attached SCSI disk
[   17.721324] sd 0:0:0:0: [sda] Attached SCSI disk
[   18.301910] raid6: int32x1  gen()   203 MB/s
[   18.471765] raid6: int32x1  xor()   178 MB/s
[   18.641705] raid6: int32x2  gen()   278 MB/s
[   18.811703] raid6: int32x2  xor()   207 MB/s
[   18.981816] raid6: int32x4  gen()   307 MB/s
[   19.151686] raid6: int32x4  xor()   228 MB/s
[   19.321816] raid6: int32x8  gen()   315 MB/s
[   19.491762] raid6: int32x8  xor()   219 MB/s
[   19.661699] raid6: neonx1   gen()   711 MB/s
[   19.831664] raid6: neonx1   xor()   811 MB/s
[   20.001711] raid6: neonx2   gen()  1175 MB/s
[   20.171661] raid6: neonx2   xor()  1187 MB/s
[   20.341685] raid6: neonx4   gen()  1550 MB/s
[   20.511663] raid6: neonx4   xor()  1344 MB/s
[   20.681678] raid6: neonx8   gen()  1371 MB/s
[   20.851667] raid6: neonx8   xor()  1125 MB/s
[   20.851673] raid6: using algorithm neonx4 gen() 1550 MB/s
[   20.851676] raid6: .... xor() 1344 MB/s, rmw enabled
[   20.851680] raid6: using neon recovery algorithm
[   20.881255] xor: measuring software checksum speed
[   20.971664]    arm4regs  :  2020.800 MB/sec
[   21.071659]    8regs     :  1357.600 MB/sec
[   21.171657]    32regs    :  1262.800 MB/sec
[   21.271658]    neon      :  2156.800 MB/sec
[   21.271664] xor: using function: neon (2156.800 MB/sec)
[   21.417002] Btrfs loaded, crc32c=crc32c-generic
[   21.418650] BTRFS: device label URAID devid 8 transid 1254272 /dev/sdb1
[   21.423593] BTRFS: device label URAID devid 7 transid 1254272 /dev/sda1
[  313.823521] BTRFS info (device sda1): disk space caching is enabled
[  313.823537] BTRFS info (device sda1): has skinny extents
[  313.826597] BTRFS critical (device sda1): unable to find logical 3746684731392 length 4096
[  313.839009] BTRFS critical (device sda1): unable to find logical 3746684731392 length 4096
[  313.851766] BTRFS critical (device sda1): unable to find logical 3746684731392 length 4096
[  313.864676] BTRFS critical (device sda1): unable to find logical 3746684731392 length 4096
[  313.878039] BTRFS critical (device sda1): unable to find logical 3746684731392 length 4096
[  313.891649] BTRFS critical (device sda1): unable to find logical 3746684731392 length 4096
[  313.905782] BTRFS error (device sda1): failed to read chunk root
[  313.942529] BTRFS error (device sda1): open_ctree failed


btrfs inspect-internal dump-super /dev/disk/by-label/URAID
superblock: bytenr=65536, device=/dev/disk/by-label/URAID
---------------------------------------------------------
csum_type        0 (crc32c)
csum_size        4
csum            0x33567328 [match]
bytenr            65536
flags            0x1
            ( WRITTEN )
magic            _BHRfS_M [match]
fsid            da28e00e-6ae7-4a28-9bf4-6826157c7e43
metadata_uuid        da28e00e-6ae7-4a28-9bf4-6826157c7e43
label            URAID
generation        1254278
root            14868497367040
sys_array_size        129
chunk_root_generation    1254275
root_level        1
chunk_root        21338870824960
chunk_root_level    1
log_root        0
log_root_transid    0
log_root_level        0
total_bytes        8001571065856
bytes_used        2903387471872
sectorsize        4096
nodesize        16384
leafsize (deprecated)    16384
stripesize        4096
root_dir        6
num_devices        2
compat_flags        0x0
compat_ro_flags        0x0
incompat_flags        0x161
            ( MIXED_BACKREF |
              BIG_METADATA |
              EXTENDED_IREF |
              SKINNY_METADATA )
cache_generation    1254278
uuid_tree_generation    1254278
dev_item.uuid        fd1a07a5-4cdc-41eb-9776-d4519f2d086b
dev_item.fsid        da28e00e-6ae7-4a28-9bf4-6826157c7e43 [match]
dev_item.type        0
dev_item.total_bytes    4000785104896
dev_item.bytes_used    2931348733952
dev_item.io_align    4096
dev_item.io_width    4096
dev_item.sector_size    4096
dev_item.devid        8
dev_item.dev_group    0
dev_item.seek_speed    0
dev_item.bandwidth    0
dev_item.generation    0


[1] https://btrfs.wiki.kernel.org/index.php/Changelog#By_feature


More information about the arch-general mailing list