Hi, I have encountered the issue where a btrfs filesystem would not mount due to mismatch of super_total_bytes with fs_devices total_rw_bytes
I was able to fix it with the new parameter --fix-dev-size Below I have listed the steps I took. Reference https://www.spinics.net/lists/linux-btrfs/msg70025.html My setup HDDs are sdb 2.7TB 3.7TB (sdd) with partition sdd1 sde 2.7TB sdf 2.7TB Running on latest version of Fedora stable [root@localhost ~]# uname -a Linux localhost.localdomain 4.13.5-200.fc26.x86_64 #1 SMP Thu Oct 5 16:53:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [root@localhost ~]# btrfs --version btrfs-progs v4.9.1 These are previous conversions of the fs: 1) I had originally created this as a RAID0 array on two drives. 2) Then converted to RAID1 and added a third drive. 3) Then converted to RAID10 and added a fourth drive. 4) I wanted to use the remaining 1TB on sdd, so I converted back to RAID1 removed sdd created a sdd1 partition and added it to the filesystem converted the fs to RAID10 5) Then I found out that the sdd1 partition size was not aligned to 4096 bytes, so I increased partition size to exactly match the sdb drive size increased the fs size on sdd1 using btrfs fi resize 4:max /mnt/6TB 6) After reboot the whole filesystem would no longer mount 7) The --fix-dev-size parameter seems to have fixed it, details below [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 59.6G 0 disk ├─sda1 8:1 0 200M 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 58.4G 0 part / sdb 8:16 0 2.7T 0 disk sdc 8:32 0 465.8G 0 disk ├─sdc1 8:33 0 450M 0 part ├─sdc2 8:34 0 100M 0 part ├─sdc3 8:35 0 16M 0 part ├─sdc4 8:36 0 146.5G 0 part └─sdc5 8:37 0 318.7G 0 part /home sdd 8:48 0 3.7T 0 disk ├─sdd1 8:49 0 2.7T 0 part └─sdd2 8:50 0 931.5G 0 part sde 8:64 0 2.7T 0 disk sdf 8:80 0 2.7T 0 disk [root@localhost ~]# btrfs inspect dump-super /dev/sdd1 superblock: bytenr=65536, device=/dev/sdd1 --------------------------------------------------------- csum_type 0 (crc32c) csum_size 4 csum 0x9c9d6da0 [match] bytenr 65536 flags 0x1 ( WRITTEN ) magic _BHRfS_M [match] fsid 41806396-8892-4278-a534-23ce61d78970 label 6TB generation 245580 root 48007926906880 sys_array_size 193 chunk_root_generation 245539 root_level 1 chunk_root 38578614435840 chunk_root_level 1 log_root 0 log_root_transid 0 log_root_level 0 total_bytes 12002371923968 bytes_used 4542498934784 sectorsize 4096 nodesize 16384 leafsize 16384 stripesize 4096 root_dir 6 num_devices 4 compat_flags 0x0 compat_ro_flags 0x0 incompat_flags 0x163 ( MIXED_BACKREF | DEFAULT_SUBVOL | BIG_METADATA | EXTENDED_IREF | SKINNY_METADATA ) cache_generation 245580 uuid_tree_generation 245580 dev_item.uuid 2d19c08c-8a16-48c2-ae28-4547b19ae419 dev_item.fsid 41806396-8892-4278-a534-23ce61d78970 [match] dev_item.type 0 dev_item.total_bytes 3000592982016 dev_item.bytes_used 2725190303744 dev_item.io_align 4096 dev_item.io_width 4096 dev_item.sector_size 4096 dev_item.devid 4 dev_item.dev_group 0 dev_item.seek_speed 0 dev_item.bandwidth 0 dev_item.generation 0 [root@localhost ~]# btrfs inspect dump-super /dev/sdb superblock: bytenr=65536, device=/dev/sdb --------------------------------------------------------- csum_type 0 (crc32c) csum_size 4 csum 0xb540bd25 [match] bytenr 65536 flags 0x1 ( WRITTEN ) magic _BHRfS_M [match] fsid 41806396-8892-4278-a534-23ce61d78970 label 6TB generation 245580 root 48007926906880 sys_array_size 193 chunk_root_generation 245539 root_level 1 chunk_root 38578614435840 chunk_root_level 1 log_root 0 log_root_transid 0 log_root_level 0 total_bytes 12002371923968 bytes_used 4542498934784 sectorsize 4096 nodesize 16384 leafsize 16384 stripesize 4096 root_dir 6 num_devices 4 compat_flags 0x0 compat_ro_flags 0x0 incompat_flags 0x163 ( MIXED_BACKREF | DEFAULT_SUBVOL | BIG_METADATA | EXTENDED_IREF | SKINNY_METADATA ) cache_generation 245580 uuid_tree_generation 245580 dev_item.uuid 549ba2bf-880c-4fc2-8e5f-f3445b32f84e dev_item.fsid 41806396-8892-4278-a534-23ce61d78970 [match] dev_item.type 0 dev_item.total_bytes 3000592982016 dev_item.bytes_used 2725190303744 dev_item.io_align 4096 dev_item.io_width 4096 dev_item.sector_size 4096 dev_item.devid 1 dev_item.dev_group 0 dev_item.seek_speed 0 dev_item.bandwidth 0 dev_item.generation 0 [root@localhost ~]# btrfs fi show --raw Label: '6TB' uuid: 41806396-8892-4278-a534-23ce61d78970 Total devices 4 FS bytes used 4542498934784 devid 1 size 3000592982016 used 2725190303744 path /dev/sdb devid 2 size 3000592982016 used 2725190303744 path /dev/sdf devid 3 size 3000592982016 used 2725190303744 path /dev/sde devid 4 size 3000592982016 used 2725190303744 path /dev/sdd1 [root@localhost ~]# mount -t btrfs /dev/sdb /mnt/6TB/ mount: /mnt/6TB: wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error. [root@localhost ~]# mount -t btrfs /dev/sdd1 /mnt/6TB/ mount: /mnt/6TB: wrong fs type, bad option, bad superblock on /dev/sdd1, missing codepage or helper program, or other error. [root@localhost ~]# dmesg | tail [ 7743.052419] BTRFS info (device sdd1): disk space caching is enabled [ 7743.052426] BTRFS info (device sdd1): has skinny extents [ 7743.103575] BTRFS error (device sdd1): super_total_bytes 12002371923968 mismatch with fs_devices total_rw_bytes 12002371928064 [ 7743.103583] BTRFS error (device sdd1): failed to read chunk tree: -22 [ 7743.131815] BTRFS error (device sdd1): open_ctree failed [ 7763.318712] BTRFS info (device sdd1): disk space caching is enabled [ 7763.318718] BTRFS info (device sdd1): has skinny extents [ 7763.369597] BTRFS error (device sdd1): super_total_bytes 12002371923968 mismatch with fs_devices total_rw_bytes 12002371928064 [ 7763.369605] BTRFS error (device sdd1): failed to read chunk tree: -22 [ 7763.392512] BTRFS error (device sdd1): open_ctree failed [root@localhost ~]# mount -t btrfs -o ro,usebackuproot /dev/sdb /mnt/6TB/ mount: /mnt/6TB: wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error. [root@localhost ~]# mount -t btrfs -o ro,usebackuproot /dev/sdd1 /mnt/6TB/ mount: /mnt/6TB: wrong fs type, bad option, bad superblock on /dev/sdd1, missing codepage or helper program, or other error. [root@localhost ~]# dmesg | tail -12 [ 7883.324339] BTRFS info (device sdd1): trying to use backup root at mount time [ 7883.324344] BTRFS info (device sdd1): disk space caching is enabled [ 7883.324346] BTRFS info (device sdd1): has skinny extents [ 7883.348445] BTRFS error (device sdd1): super_total_bytes 12002371923968 mismatch with fs_devices total_rw_bytes 12002371928064 [ 7883.348452] BTRFS error (device sdd1): failed to read chunk tree: -22 [ 7883.368949] BTRFS error (device sdd1): open_ctree failed [ 7888.549118] BTRFS info (device sdd1): trying to use backup root at mount time [ 7888.549124] BTRFS info (device sdd1): disk space caching is enabled [ 7888.549127] BTRFS info (device sdd1): has skinny extents [ 7888.591806] BTRFS error (device sdd1): super_total_bytes 12002371923968 mismatch with fs_devices total_rw_bytes 12002371928064 [ 7888.591811] BTRFS error (device sdd1): failed to read chunk tree: -22 [ 7888.613883] BTRFS error (device sdd1): open_ctree failed Then downloaded the btrfs-progs branch from here (Latest commit 6ff9231) https://github.com/adam900710/btrfs-progs/tree/check_unaligned_dev [root@localhost btrfs-progs-check_unaligned_dev]# ./btrfs check --fix-dev-size /dev/sdd1 Checking filesystem on /dev/sdd1 UUID: 41806396-8892-4278-a534-23ce61d78970 Fixed super total bytes, old size: 12002371923968 new size: 12002371928064 Fixed unaligned/mismatch total_bytes for superblock and device item [root@localhost ~]# dmesg | tail -2 [ 8134.623626] sdf: [ 8134.734011] sdb: Used bytes changed [root@localhost ~]# btrfs fi show --raw Label: '6TB' uuid: 41806396-8892-4278-a534-23ce61d78970 Total devices 4 FS bytes used 4542498934784 devid 1 size 3000592982016 used 2679019405312 path /dev/sdb devid 2 size 3000592982016 used 2679019405312 path /dev/sdf devid 3 size 3000592982016 used 2679019405312 path /dev/sde devid 4 size 3000592982016 used 2679019405312 path /dev/sdd1 [root@localhost ~]# mount /dev/sdb mnt/6TB/ [ 8454.694653] BTRFS info (device sdd1): disk space caching is enabled [ 8454.694657] BTRFS info (device sdd1): has skinny extents [ 8462.707166] BTRFS info (device sdd1): checking UUID tree Scrub is currently running, but looks like there are no errors on the fs. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html