On Fri, Jul 5, 2019 at 7:45 AM Vladimir Panteleev <thecybershadow@xxxxxxxxx> wrote: > > Hi, > > I'm trying to convert a data=RAID10,metadata=RAID1 (4 disks) array to > RAID1 (2 disks). The array was less than half full, and I disconnected > two parity drives, btrfs does not have dedicated parity drives; it is quite possible that some chunks had their mirror pieces on these two drives, meaning you effectively induced data loss. You had to perform "btrfs device delete" *first*, then disconnect unused drive after this process has completed. I suspect at this point the only possibility to salvage data is "btrfs restore". > leaving two that contained one copy of all data. > > After stubbing out btrfs_check_rw_degradable (because btrfs currently > can't realize when it has all drives needed for RAID10), I've > successfully mounted rw+degraded, balance-converted all RAID10 data to > RAID1, and then btrfs-device-delete-d one of the missing drives. It > fails at deleting the second. > > The process reached a point where the last missing device shows as > containing 20 GB of RAID1 metadata. At this point, attempting to delete > the device causes the operation to shortly fail with "No space left", > followed by a "kernel BUG at fs/btrfs/relocation.c:2499!", and the > "btrfs device delete" command to crash with a segmentation fault. > > Here is the information about the filesystem: > > https://dump.thecybershadow.net/55d558b4d0a59643e24c6b4ee9019dca/04%3A28%3A23-upload.txt > > And here is the dmesg output (with enospc_debug): > > https://dump.thecybershadow.net/9d3811b85d078908141a30886df8894c/04%3A28%3A53-upload.txt > > Attempting to unmount the filesystem causes another warning: > > https://dump.thecybershadow.net/6d6f2353cd07cd8464ece7e4df90816e/04%3A30%3A30-upload.txt > > The umount command then hangs indefinitely. > > Linux 5.1.15-arch1-1-ARCH, btrfs-progs v5.1.1 > > -- > Best regards, > Vladimir
