This reverts commit 8000e76d43, because
as @marmarek pointed out, the original was correct and I totally
misread. The check in question is checking whether to _abort_, not
whether to continue. So we want to check if the block device size is
_less_ than the filesystem + margin, not more.
Reopens QubesOS/qubes-issues#4553
		
	
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			698 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			698 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
# Possibly resize root device (partition, filesystem), if underlying device was
 | 
						|
# enlarged.
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
# if underlying root device is read-only, don't do anything
 | 
						|
if [ "$(blockdev --getro /dev/xvda)" -eq "1" ]; then
 | 
						|
    echo "xvda is read-only, not resizing" >&2
 | 
						|
    exit 0
 | 
						|
fi
 | 
						|
 | 
						|
sysfs_xvda="/sys/class/block/xvda"
 | 
						|
 | 
						|
# if root filesystem use already (almost) the whole dis
 | 
						|
size_margin=$(( 250 * 1024 * 2 ))
 | 
						|
rootfs_size=$(df --block-size=512 --output=size / | tail -n 1 | tr -d ' ')
 | 
						|
if [ $(cat $sysfs_xvda/size) -lt \
 | 
						|
       $(( size_margin + rootfs_size )) ]; then
 | 
						|
   echo "root filesystem already at $rootfs_size blocks" >&2
 | 
						|
   exit 0
 | 
						|
fi
 | 
						|
 | 
						|
# resize needed, do it
 | 
						|
/usr/lib/qubes/resize-rootfs
 |