diff options
author | David Teigland <teigland@redhat.com> | 2022-09-14 09:13:58 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2022-09-14 14:19:29 -0500 |
commit | 0887896847807e159a70edc5ac92a4030c13923a (patch) | |
tree | 9d84b79ae450559d83b51d2ce9fdfeadd3ee58a9 /test | |
parent | a2d33cdfc516d946d390645cc694e745008b6fc0 (diff) | |
download | lvm2-0887896847807e159a70edc5ac92a4030c13923a.tar.gz |
vgremove: remove online files in run dir
These files are automatically cleared on reboot given
that /run is tmpfs, and that remains the primary way
of clearing online files.
But, if there's extreme use of vgcreate+pvscan+vgremove
between reboots, then removing online files in vgremove
will limit the number of unused online files using space
in /run.
Diffstat (limited to 'test')
-rw-r--r-- | test/shell/vgchange-pvs-online.sh | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/test/shell/vgchange-pvs-online.sh b/test/shell/vgchange-pvs-online.sh index 8812de1a3..a1fc3a427 100644 --- a/test/shell/vgchange-pvs-online.sh +++ b/test/shell/vgchange-pvs-online.sh @@ -192,6 +192,41 @@ check lv_field $vg2/$lv1 lv_active "active" vgchange -an $vg1 vgchange -an $vg2 -vgremove -f $vg1 -vgremove -f $vg2 +# vgremove clears online files + +PVID1=$(pvs "$bd1" --noheading -o uuid | tr -d - | awk '{print $1}') +PVID2=$(pvs "$bd2" --noheading -o uuid | tr -d - | awk '{print $1}') +PVID3=$(pvs "$bd3" --noheading -o uuid | tr -d - | awk '{print $1}') + +_clear_online_files + +pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output "$bd1" +pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output "$bd2" +vgchange -aay --autoactivation event $vg1 +check lv_field $vg1/$lv1 lv_active "active" +check lv_field $vg1/$lv2 lv_active "active" +check lv_field $vg2/$lv1 lv_active "" + +pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output "$bd3" +vgchange -aay --autoactivation event $vg2 +check lv_field $vg2/$lv1 lv_active "active" + +ls "$RUNDIR/lvm/pvs_online/$PVID1" +ls "$RUNDIR/lvm/pvs_online/$PVID2" +ls "$RUNDIR/lvm/pvs_online/$PVID3" +ls "$RUNDIR/lvm/pvs_lookup/$vg1" +ls "$RUNDIR/lvm/vgs_online/$vg1" +ls "$RUNDIR/lvm/vgs_online/$vg2" + +vgremove -y $vg1 + +not ls "$RUNDIR/lvm/pvs_online/$PVID1" +not ls "$RUNDIR/lvm/pvs_online/$PVID2" +not ls "$RUNDIR/lvm/pvs_lookup/$vg1" +not ls "$RUNDIR/lvm/vgs_online/$vg1" + +vgremove -y $vg2 + +not ls "$RUNDIR/lvm/pvs_online/$PVID3" +not ls "$RUNDIR/lvm/vgs_online/$vg2" |