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, 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