On Tue, Mar 19, 2019 at 11:58:24AM +0100, Lukas Czerner wrote: > > # Find scrub targets, make sure we only do this once. > > -ls_scrub_targets() { > > - lsblk -o NAME,FSTYPE,MOUNTPOINT -p -P -n | while read vars; do > > +ls_scan_targets() { > > + lvs --name-prefixes -o vg_name,lv_name,lv_path \ > > + -S lv_active=active,lv_role=public --noheadings | \ > > You're not using vg_name, nor lv_name so you can drop it maybe ? Also > you're missing lv_role since you're checking it later, however you can > do this instead > > -S lv_active=active,lv_role=public -S lv_role!=snapshot We don't need to check lv_role at all, since the command already included: -S lv_active=active,lv_role=public And we need to do lv_role=public and not lv_role!=snapshot, since we need to also exclude thinpools. Speaking of thinpools, although we *can* take a thick snapshot of a thinp volume, in the future we might want to add support for taking a thinp snapshot. (Although that will make the check which I've been working on to make sure there's enough free space a bit more complicated.) I have some other patches queued for e2scrub, so I'll take a whack and trying to make a reivison of this patch, and then send out a stack of patches against e2scrub for folks to look at. - Ted