My entire /home directory is on a btrfs subvolume, and I'm trying to move it from a 1TB HDD to a 2TB HDD. I have done stuff like this before on EXT4, but I know btrfs works differently with its subvolumes. So here's my thought, and please correct my errors:
1. Plug in the new drive (assume from here current /home is on /dev/sdc and new drive is /dev/sdd)
2. mkfs.btrfs /dev/sdd (new btrfs filesystem on new drive)
3. mv /home /old_home (and make that edit to /etc/fstab)
4. mount /dev/sdd1 /home (I'm not sure if this is technically how btrfs would work)
5. Here there should be some btrfs send ... | btrfs receive ...
Then somewhere in there I just change the UUID in /etc/fstab to my new drive on /home and my new drive should have /home and my old drive be unused, so I can shut down my computer and unplug my old drive. I'm part way there, but I'm missing some detail in how to do this job