qubes.ResizeDisk: handle dmroot being a symlink
In non-template-based-VMs it can be just a symlink (depending on initramfs version).
This commit is contained in:
		
							parent
							
								
									6bf395022a
								
							
						
					
					
						commit
						a59ac1b4f9
					
				@ -13,15 +13,17 @@ case $disk_name in
 | 
			
		||||
    root)
 | 
			
		||||
        # force some read to refresh device size
 | 
			
		||||
        head /dev/xvda > /dev/null
 | 
			
		||||
        new_size=$(cat /sys/block/xvda/size)
 | 
			
		||||
        ro=$(/sys/block/xvda/ro)
 | 
			
		||||
        if [ "$ro" -eq 1 ]; then
 | 
			
		||||
            new_table="0 $new_size snapshot /dev/xvda /dev/xvdc2 N 16"
 | 
			
		||||
        else
 | 
			
		||||
            new_table="0 $new_size linear /dev/xvda 0"
 | 
			
		||||
        if [ "$(stat -Lc %t /dev/mapper/dmroot)" != "ca" ]; then
 | 
			
		||||
            new_size=$(cat /sys/block/xvda/size)
 | 
			
		||||
            ro=$(/sys/block/xvda/ro)
 | 
			
		||||
            if [ "$ro" -eq 1 ]; then
 | 
			
		||||
                new_table="0 $new_size snapshot /dev/xvda /dev/xvdc2 N 16"
 | 
			
		||||
            else
 | 
			
		||||
                new_table="0 $new_size linear /dev/xvda 0"
 | 
			
		||||
            fi
 | 
			
		||||
            dmsetup load dmroot --table "$new_table"
 | 
			
		||||
            dmsetup resume dmroot
 | 
			
		||||
        fi
 | 
			
		||||
        dmsetup load dmroot --table "$new_table"
 | 
			
		||||
        dmsetup resume dmroot
 | 
			
		||||
        resize2fs /dev/mapper/dmroot
 | 
			
		||||
        ;;
 | 
			
		||||
    *)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user