summaryrefslogtreecommitdiffstats
path: root/rescue/restore-image.sh
diff options
context:
space:
mode:
Diffstat (limited to 'rescue/restore-image.sh')
-rwxr-xr-xrescue/restore-image.sh19
1 files changed, 11 insertions, 8 deletions
diff --git a/rescue/restore-image.sh b/rescue/restore-image.sh
index ddb12f5e8..87b8070bf 100755
--- a/rescue/restore-image.sh
+++ b/rescue/restore-image.sh
@@ -165,18 +165,21 @@ function expand_fs()
disk=/dev/$root
main_part=/dev/${root}1
swap_part=/dev/${root}2
- total_blocks=$(sfdisk -s $disk)
#part_sectors=$(sfdisk -d $disk | perl -lne 'm|^'$main_part'\b.*,\s*size\s*=\s*(\d+)\b| and print($1), exit')
#part_blocks=$((part_sectors/2))
+ main_part_sectors=
if [ -n "$SWAP_BLOCKS" ]; then
- main_part_blocks=$((total_blocks-SWAP_BLOCKS))
- main_part_sectors=$((main_part_blocks*2))
- else
- main_part_sectors=
+ if [ -n "$EXPAND_FS" ]; then
+ total_blocks=$(sfdisk -s $disk)
+ main_part_blocks=$((total_blocks-SWAP_BLOCKS))
+ main_part_sectors=$((main_part_blocks*2))
+ fi
+ fi
+ if [ -n "$EXPAND_FS" ]; then
+ sfdisk -d $disk | sed -e "\|$main_part| s/size=.*,/size= $main_part_sectors,/" | sfdisk -f $disk
+ e2fsck -fy $main_part
+ resize2fs $main_part
fi
- sfdisk -d $disk | sed -e "\|$main_part| s/size=.*,/size= $main_part_sectors,/" | sfdisk -f $disk
- e2fsck -fy $main_part
- resize2fs $main_part
if [ -n "$SWAP_BLOCKS" ]; then
parted $disk -- mkpartfs primary linux-swap ${main_part_sectors}s -1s yes
mkswap -L swap $swap_part