From: Theodore Ts'o Date: Wed, 20 Mar 2019 15:58:58 +0000 (-0400) Subject: e2scrub_all: make sure there's enough free space for a snapshot X-Git-Tag: v1.45.1-rc1~33 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=c120312253a4991078f8c0eb7fbde23851c4d258;p=tools%2Fe2fsprogs.git e2scrub_all: make sure there's enough free space for a snapshot If there isn't, skip the volume so we don't spam the system administrator with error messages. It's quite commkon that there is is zero free space in the volume group. Addresses-Debian-Bug: #924301 Signed-off-by: Theodore Ts'o --- diff --git a/scrub/e2scrub_all.in b/scrub/e2scrub_all.in index 8bc868a..4cb90a0 100644 --- a/scrub/e2scrub_all.in +++ b/scrub/e2scrub_all.in @@ -21,6 +21,7 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin scrub_all=0 +snap_size_mb=256 conffile="@root_sysconfdir@/e2scrub.conf" test -f "${conffile}" && . "${conffile}" @@ -108,6 +109,9 @@ ls_scrub_targets() { eval "${lvm_vars}" echo "${LVM2_LV_ROLE}" | grep -q "snapshot" && continue + free_space="$(vgs -o vg_free --units m --noheadings --no-suffix "${LVM2_VG_NAME}" 2> /dev/null | sed -e 's/\..*//')" + test "${snap_size_mb}" -gt "${free_space}" && continue + if [ -n "${MOUNTPOINT}" ]; then echo "${MOUNTPOINT}" else