File tree Expand file tree Collapse file tree 3 files changed +38
-2
lines changed
Expand file tree Collapse file tree 3 files changed +38
-2
lines changed Original file line number Diff line number Diff line change @@ -88,8 +88,20 @@ SNAP_CREATE_CMD=$(cat <<EOF
8888
8989 ${SYNC}
9090 ${SUDO} ${LVSCAN}
91- $SUDO $LVEXTEND -L + ${SIZE} M $VG_NAME / $POOL_NAME
91+
9292 $SUDO $LVCREATE -s -n $SNAP_NAME $VG_NAME /$LV_NAME
93+
94+ # Extend the pool as needed
95+ pool_size="\$ ($SUDO $LVS --nosuffix --noheadings --units B -o lv_size $VG_NAME /$POOL_NAME )"
96+ lvs_size=0
97+ for lv in \$ ($SUDO $LVS --noheading -o lv_name -S 'vg_name = $VG_NAME && pool_lv = $POOL_NAME '); do
98+ lv_size="\$ ($SUDO $LVS --nosuffix --noheadings --units B -o lv_size $VG_NAME /\$ lv)"
99+ lvs_size=\$ ((lvs_size + lv_size))
100+ done
101+ if [ "\$ lvs_size" -gt "\$ pool_size" ]; then
102+ $SUDO $LVEXTEND -L \$ {lvs_size}B $VG_NAME /$POOL_NAME
103+ fi
104+
93105 ${SYNC}
94106EOF
95107)
Original file line number Diff line number Diff line change @@ -84,8 +84,20 @@ SNAP_CREATE_CMD=$(cat <<EOF
8484 trap "virsh -c $LIBVIRT_URI domfsthaw $DEPLOY_ID || true" EXIT
8585 ${SYNC}
8686 ${SUDO} ${LVSCAN}
87- $SUDO $LVEXTEND -L + ${SIZE} M $VG_NAME / $POOL_NAME
87+
8888 $SUDO $LVCREATE -s -n $SNAP_NAME $VG_NAME /$LV_NAME
89+
90+ # Extend the pool as needed
91+ pool_size="\$ ($SUDO $LVS --nosuffix --noheadings --units B -o lv_size $VG_NAME /$POOL_NAME )"
92+ lvs_size=0
93+ for lv in \$ ($SUDO $LVS --noheading -o lv_name -S 'vg_name = $VG_NAME && pool_lv = $POOL_NAME '); do
94+ lv_size="\$ ($SUDO $LVS --nosuffix --noheadings --units B -o lv_size $VG_NAME /\$ lv)"
95+ lvs_size=\$ ((lvs_size + lv_size))
96+ done
97+ if [ "\$ lvs_size" -gt "\$ pool_size" ]; then
98+ $SUDO $LVEXTEND -L \$ {lvs_size}B $VG_NAME /$POOL_NAME
99+ fi
100+
89101 ${SYNC}
90102 else
91103 echo "Unable to freeze VM; aborting"
Original file line number Diff line number Diff line change @@ -89,6 +89,18 @@ SNAP_REVERT_CMD=$(cat <<EOF
8989 ${SUDO} ${LVSCAN}
9090 $SUDO $LVREMOVE -y $VG_NAME /$LV_NAME
9191 $SUDO $LVCREATE -s -n $LV_NAME $VG_NAME /$SNAP_NAME
92+
93+ # Extend the pool as needed
94+ pool_size="\$ ($SUDO $LVS --nosuffix --noheadings --units B -o lv_size $VG_NAME /$POOL_NAME )"
95+ lvs_size=0
96+ for lv in \$ ($SUDO $LVS --noheading -o lv_name -S 'vg_name = $VG_NAME && pool_lv = $POOL_NAME '); do
97+ lv_size="\$ ($SUDO $LVS --nosuffix --noheadings --units B -o lv_size $VG_NAME /\$ lv)"
98+ lvs_size=\$ ((lvs_size + lv_size))
99+ done
100+ if [ "\$ lvs_size" -gt "\$ pool_size" ]; then
101+ $SUDO $LVEXTEND -L \$ {lvs_size}B $VG_NAME /$POOL_NAME
102+ fi
103+
92104 # Next two commands could be merged, but is advised against by LVM
93105 $SUDO $LVCHANGE -kn $VG_NAME /$LV_NAME
94106 $SUDO $LVCHANGE -ay $VG_NAME /$LV_NAME
You can’t perform that action at this time.
0 commit comments