#!/bin/sh set -e # Determine partition and hard drive paths UUID=$(/usr/bin/awk '{print substr($2,6)}' /etc/crypttab) PART=$(/sbin/blkid -U ${UUID}) DISK=${PART%?} DEV=$(/usr/bin/basename ${DISK}) # No resizing with less than 10k unused blocks BLOCKS_FREE=$(/usr/bin/awk -v dev="${DEV}" '{if ($0 ~ dev "$") blocks = $3} {if ($0 ~ dev "[0-9]") blocks -= $3} END {print blocks}' /proc/partitions) [ ${BLOCKS_FREE} -lt 10240 ] && exit 0 # Resize physical partition # Force busybox fdisk as util-linux fdisk breaks subsequent partx command cat <