From 3f2ee2e1e1b3273572167c70c2172ef66ca9116e Mon Sep 17 00:00:00 2001 From: Holger Nahrstaedt Date: Sun, 1 Nov 2020 11:24:12 +0100 Subject: [PATCH] Fix for btrfs migration with raid (usb drive) does not work (#1697) --- home.admin/_bootstrap.provision.sh | 6 +++++- home.admin/_bootstrap.sh | 6 +++++- home.admin/config.scripts/blitz.datadrive.sh | 11 +++++++---- home.admin/config.scripts/blitz.migration.sh | 6 +++++- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/home.admin/_bootstrap.provision.sh b/home.admin/_bootstrap.provision.sh index ed7e0becb..c76b146f5 100755 --- a/home.admin/_bootstrap.provision.sh +++ b/home.admin/_bootstrap.provision.sh @@ -600,7 +600,11 @@ source <(sudo /home/admin/config.scripts/blitz.datadrive.sh status) # update /etc/fstab echo "datadisk --> ${datadisk}" >> ${logFile} echo "datapartition --> ${datapartition}" >> ${logFile} -sudo /home/admin/config.scripts/blitz.datadrive.sh fstab ${datapartition} >> ${logFile} +if [ ${isBTRFS} -eq 0 ]; then + sudo /home/admin/config.scripts/blitz.datadrive.sh fstab ${datapartition} >> ${logFile} +else + sudo /home/admin/config.scripts/blitz.datadrive.sh fstab ${datadisk} >> ${logFile} +fi echo "DONE - Give raspi some cool off time after hard building .... 5 secs sleep" >> ${logFile} sleep 5 diff --git a/home.admin/_bootstrap.sh b/home.admin/_bootstrap.sh index ac7a5a692..13a07ae03 100755 --- a/home.admin/_bootstrap.sh +++ b/home.admin/_bootstrap.sh @@ -322,7 +322,11 @@ if [ ${isMounted} -eq 0 ]; then # temp mount the HDD echo "Temp mounting data drive ($hddCandidate)" >> $logFile - source <(sudo /home/admin/config.scripts/blitz.datadrive.sh tempmount ${hddPartitionCandidate}) + if [ "${hddFormat}" != "btrfs" ]; then + source <(sudo /home/admin/config.scripts/blitz.datadrive.sh tempmount ${hddPartitionCandidate}) + else + source <(sudo /home/admin/config.scripts/blitz.datadrive.sh tempmount ${hddCandidate}) + fi if [ ${#error} -gt 0 ]; then echo "Failed to tempmount the HDD .. awaiting user setup." >> $logFile sed -i "s/^state=.*/state=waitsetup/g" ${infoFile} diff --git a/home.admin/config.scripts/blitz.datadrive.sh b/home.admin/config.scripts/blitz.datadrive.sh index 6c51fc6ac..81beb2f40 100755 --- a/home.admin/config.scripts/blitz.datadrive.sh +++ b/home.admin/config.scripts/blitz.datadrive.sh @@ -115,10 +115,13 @@ if [ "$1" = "status" ]; then fi fi else - # Partion to be created is smaller than disk so this is not correct (but close) - sizeDataPartition=$(sudo fdisk -l /dev/$testdevice | grep GiB | cut -d " " -f 5) - hddDataPartition="${testdevice}1" - hdd="${testdevice}" + # make sure to use the biggest + if [ ${testsize} -gt ${sizeDataPartition} ]; then + # Partion to be created is smaller than disk so this is not correct (but close) + sizeDataPartition=$(sudo fdisk -l /dev/$testdevice | grep GiB | cut -d " " -f 5) + hddDataPartition="${testdevice}1" + hdd="${testdevice}" + fi fi done < .lsblk.tmp diff --git a/home.admin/config.scripts/blitz.migration.sh b/home.admin/config.scripts/blitz.migration.sh index 6c78ffa68..f2d4b0de7 100755 --- a/home.admin/config.scripts/blitz.migration.sh +++ b/home.admin/config.scripts/blitz.migration.sh @@ -317,7 +317,11 @@ if [ "$1" = "import-gui" ]; then esac # now temp mount the HDD/SSD - source <(sudo /home/admin/config.scripts/blitz.datadrive.sh tempmount ${hddPartitionCandidate}) + if [ ${isBTRFS} -eq 0 ]; then + source <(sudo /home/admin/config.scripts/blitz.datadrive.sh tempmount ${hddPartitionCandidate}) + else + source <(sudo /home/admin/config.scripts/blitz.datadrive.sh tempmount ${hddCandidate}) + fi if [ ${#error} -gt 0 ]; then echo "FAIL: Was not able to temp mount the HDD/SSD --> ${error}" exit 1