Skip to content

Commit 7180031

Browse files
committed
Dont run minimize_ext on btrfs, unimplmented for btrfs for now #195 #194
1 parent 0c67ba1 commit 7180031

1 file changed

Lines changed: 37 additions & 26 deletions

File tree

src/common.sh

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -298,8 +298,8 @@ FDISK
298298
LODEV=$(losetup -f --show -o $offset $image)
299299
trap 'losetup -d $LODEV' EXIT
300300
if ( file -Ls $LODEV | grep -qi ext ); then
301-
e2fsck -fy $LODEV
302-
resize2fs -p $LODEV
301+
e2fsck -fy $LODEV
302+
resize2fs -p $LODEV
303303
elif ( file -Ls $LODEV | grep -qi btrfs ); then
304304
btrfs check --repair $LODEV
305305
if ( mount | grep $LODEV ); then
@@ -404,34 +404,45 @@ function minimize_ext() {
404404
LODEV=$(losetup -f --show -o $offset $image)
405405
trap 'losetup -d $LODEV' EXIT
406406

407-
e2fsck -fy $LODEV
408-
e2fblocksize=$(tune2fs -l $LODEV | grep -i "block size" | awk -F: '{print $2-0}')
409-
e2fminsize=$(resize2fs -P $LODEV 2>/dev/null | grep -i "minimum size" | awk -F: '{print $2-0}')
410-
411-
e2fminsize_bytes=$(($e2fminsize * $e2fblocksize))
412-
e2ftarget_bytes=$(($buffer * 1024 * 1024 + $e2fminsize_bytes))
413-
e2fsize_bytes=$((($e2fsize_blocks - 1) * 512))
407+
if ( file -Ls $LODEV | grep -qi ext ); then
408+
e2fsck -fy $LODEV
409+
resize2fs -p $LODEV
410+
411+
e2fblocksize=$(tune2fs -l $LODEV | grep -i "block size" | awk -F: '{print $2-0}')
412+
e2fminsize=$(resize2fs -P $LODEV 2>/dev/null | grep -i "minimum size" | awk -F: '{print $2-0}')
413+
414+
e2fminsize_bytes=$(($e2fminsize * $e2fblocksize))
415+
e2ftarget_bytes=$(($buffer * 1024 * 1024 + $e2fminsize_bytes))
416+
e2fsize_bytes=$((($e2fsize_blocks - 1) * 512))
417+
418+
e2fminsize_mb=$(($e2fminsize_bytes / 1024 / 1024))
419+
e2fminsize_blocks=$(($e2fminsize_bytes / 512 + 1))
420+
e2ftarget_mb=$(($e2ftarget_bytes / 1024 / 1024))
421+
e2ftarget_blocks=$(($e2ftarget_bytes / 512 + 1))
422+
e2fsize_mb=$(($e2fsize_bytes / 1024 / 1024))
423+
424+
size_offset_mb=$(($e2fsize_mb - $e2ftarget_mb))
425+
426+
427+
echo "Actual size is $e2fsize_mb MB ($e2fsize_blocks blocks), Minimum size is $e2fminsize_mb MB ($e2fminsize file system blocks, $e2fminsize_blocks blocks)"
428+
echo "Resizing to $e2ftarget_mb MB ($e2ftarget_blocks blocks)"
429+
430+
if [ $size_offset_mb -gt 0 ]; then
431+
echo "Partition size is bigger then the desired size, shrinking"
432+
shrink_ext $image $partition $(($e2ftarget_mb - 1)) # -1 to compensat rounding mistakes
433+
elif [ $size_offset_mb -lt 0 ]; then
434+
echo "Partition size is lower then the desired size, enlarging"
435+
enlarge_ext $image $partition $((-$size_offset_mb + 1)) # +1 to compensat rounding mistakes
436+
fi
414437

415-
e2fminsize_mb=$(($e2fminsize_bytes / 1024 / 1024))
416-
e2fminsize_blocks=$(($e2fminsize_bytes / 512 + 1))
417-
e2ftarget_mb=$(($e2ftarget_bytes / 1024 / 1024))
418-
e2ftarget_blocks=$(($e2ftarget_bytes / 512 + 1))
419-
e2fsize_mb=$(($e2fsize_bytes / 1024 / 1024))
420-
421-
size_offset_mb=$(($e2fsize_mb - $e2ftarget_mb))
438+
elif ( file -Ls $LODEV | grep -qi btrfs ); then
439+
echo "WARNING: minimize_ext not implemented for btrfs"
440+
btrfs check --repair $LODEV
441+
fi
422442

423443
losetup -d $LODEV
424444

425-
echo "Actual size is $e2fsize_mb MB ($e2fsize_blocks blocks), Minimum size is $e2fminsize_mb MB ($e2fminsize file system blocks, $e2fminsize_blocks blocks)"
426-
echo "Resizing to $e2ftarget_mb MB ($e2ftarget_blocks blocks)"
427-
428-
if [ $size_offset_mb -gt 0 ]; then
429-
echo "Partition size is bigger then the desired size, shrinking"
430-
shrink_ext $image $partition $(($e2ftarget_mb - 1)) # -1 to compensat rounding mistakes
431-
elif [ $size_offset_mb -lt 0 ]; then
432-
echo "Partition size is lower then the desired size, enlarging"
433-
enlarge_ext $image $partition $((-$size_offset_mb + 1)) # +1 to compensat rounding mistakes
434-
fi
445+
435446
}
436447

437448
# Skip apt update if Cache not older than 1 Hour.

0 commit comments

Comments
 (0)