Re: Connection lost during BTRFS move + resize
From: Borden <hidden>
Date: 2021-11-29 15:52:25
29 Nov 2021, 10:26 by phill@thesusis.net:
The only tool I know of that can do this is gparted, so I assume you are using that. In this case, it has to umount the filesystem and manually copy data from the old start of the partition to the new start. Being interrupted in the middle leaves part of the filesystem in the wrong place ( and which parts is unknowable ), and so it is toast. This is one area where LVM has a significant advantage as its moves are interruption safe and automatically resumed on the next activation of the volume.
This is the answer that I anticipated, and it's good to know now so I don't destroy data that I _cannot_ afford to lose later. So thank you. For my own education/curiosity/intellectual banter: ddrescue, badblocks, rsync and other utilities have log files that track progress and allow it to resume if it's interrupted. Since resize operations work in the linear process you described, how hard would it be, theoretically, to implement a "needle position" in a move operation to allow a move to pick up where it left off? Obviously, it wouldn't be 100% perfect, but if a recovery utility could look at the disk and say "partition starts here, skip a bit somewhere in the middle, continue here, stop there," surely that would be more efficient than trying to recover files with a low-level utility?