Bug 111161

Summary: bogus 'some devices missing' prevents boot
Product: File System Reporter: Konstantin Svist (fry.kun)
Component: btrfsAssignee: Josef Bacik (josef)
Status: NEW ---    
Severity: high CC: szg00000
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.2.3-300.fc23.x86_64 Subsystem:
Regression: No Bisected commit-id:
Attachments: copy of bad array -> rm all files/subvolumes -> btrfs-image -c9
output of debug-tree -d
output of debug-tree -e

Description Konstantin Svist 2016-01-22 03:38:25 UTC
- mounts OK without degraded
- btrfs check does not report missing devices
- btrfs scrub completed without problems, no change
- btrfs fi show does not report missing devices
- btrfs fi show -d does report missing devices
- btrfs dev del missing reports there are no missing devices
- btrfs dev ready exit value 1, so boot always fails (systemd waits without timeout until exit value is 0)

Boot kernel version: 4.3.3-300.fc23.x86_64
Mounting okay from Fedora 23 x64 LXDE Live (kernel 4.2.3-300.fc23.x86_64)
btrfs-progs v4.3.1

Problem appeared after replacing a bad drive (btrfs dev add, then btrfs dev del)
All drives are okay right now & btrfs is balanced.

# btrfs fi df /mnt/
Data, RAID10: total=1.29TiB, used=1.29TiB
System, RAID10: total=64.00MiB, used=160.00KiB
Metadata, RAID10: total=4.00GiB, used=3.12GiB
GlobalReserve, single: total=512.00MiB, used=0.00B


# btrfs fi show /mnt/
Label: none  uuid: 48f0e952-a176-481e-a184-6ee51acf54b1
        Total devices 4 FS bytes used 1.29TiB
        devid    1 size 931.51GiB used 664.03GiB path /dev/sda2
        devid    3 size 931.51GiB used 664.03GiB path /dev/sdc2
        devid    4 size 931.51GiB used 664.03GiB path /dev/sdd2
        devid    6 size 931.51GiB used 664.03GiB path /dev/sdb2

# btrfs fi show -d
Label: none  uuid: 48f0e952-a176-481e-a184-6ee51acf54b1
        Total devices 5 FS bytes used 1.29TiB
        devid    1 size 931.51GiB used 664.03GiB path /dev/sda2
        devid    3 size 931.51GiB used 664.03GiB path /dev/sdc2
        devid    4 size 931.51GiB used 664.03GiB path /dev/sdd2
        devid    6 size 931.51GiB used 664.03GiB path /dev/sdb2
        *** Some devices missing

dmesg:
http://cache.gmane.org//gmane/comp/file-systems/btrfs/52437-002.bin

http://thread.gmane.org/gmane.comp.file-systems.btrfs/52437
Comment 1 Konstantin Svist 2016-01-23 19:06:21 UTC
Created attachment 201121 [details]
copy of bad array -> rm all files/subvolumes -> btrfs-image -c9

I've made a dd copy of the problematic array, changed the UUID in the copy and whittled it down to 0 files (removed all subvolumes)

As per advice in #btrfs, here's an image of said 0-file array, made by "btrfs-image -c9"

Please let me know ASAP if this is sufficient to see the error or if I need to send in more info.

I'd like to restore my main array ASAP
Comment 2 Konstantin Svist 2016-01-23 19:07:36 UTC
Note: just in case, the new UUID is 367419ac-01df-4432-a5fb-1483c49abc46
Comment 3 Konstantin Svist 2016-01-24 02:11:34 UTC
Created attachment 201191 [details]
output of debug-tree -d
Comment 4 Konstantin Svist 2016-01-24 02:11:56 UTC
Created attachment 201201 [details]
output of debug-tree -e