Control: tags -1 +pending
Control: severity -1 normal
On Sun, Aug 18, 2019 at 04:16:25AM +0200, Mikhail Morfikov wrote:
> There's no error indicating what could be wrong.
>
> Looking through the /usr/sbin/e2scrub_all file, I noticed the following line:
>
> local devices=$(lvs -o lv_path --noheadings -S
> "lv_active=active,lv_role=public,lv_role!=snapshot,vg_free>${snap_size_mb}")
>
> There's vg_free>${snap_size_mb} which causes the problem -- the above lvs
> command returns nothing. It should be ">=" instead of ">", or the value in
> /etc/e2scrub.conf should be less than what pvscan returns as "free" to make it
> work.
Thanks for the bug report. The following patch will be in the next
release of e2fsprogs.
- Ted
commit 2e8cb3bebfd72c35922ddd5229fe0117b61ff19d
Author: Theodore Ts'o <[email protected]>
Date: Sun Aug 18 19:23:07 2019 -0400
e2scrub_all: allow scrubbing in vg's whose free space == snapshot size
If the volume group's free space is exactly the same as snapshot size,
e2scrub_all will skip those logical volumes in those volume groups.
Fix this by changing the test from '>' to '>='.
Fixes: c120312253 ("e2scrub_all: make sure there's enough free space...")
Addresses-Debian-Bug: #935009
Signed-off-by: Theodore Ts'o <[email protected]>
diff --git a/scrub/e2scrub_all.in b/scrub/e2scrub_all.in
index 5bdbd116..2c563672 100644
--- a/scrub/e2scrub_all.in
+++ b/scrub/e2scrub_all.in
@@ -103,7 +103,7 @@ fi
# Find scrub targets, make sure we only do this once.
ls_scan_targets() {
- local devices=$(lvs -o lv_path --noheadings -S
"lv_active=active,lv_role=public,lv_role!=snapshot,vg_free>${snap_size_mb}")
+ local devices=$(lvs -o lv_path --noheadings -S
"lv_active=active,lv_role=public,lv_role!=snapshot,vg_free>=${snap_size_mb}")
if [ -z "$devices" ]; then
return 0;