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 <ty...@mit.edu>
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 <ty...@mit.edu>

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;

Reply via email to