mirror of
git://sourceware.org/git/lvm2.git
synced 2025-04-01 18:50:41 +03:00
Skip non-virtual snapshots for availability
Change the behavior of availability change. With this patch the lvgchange returns success when VG is properly changed. It skips non-virtual origins from being changes when only 'vg' is specified as lvchange -a parameter. Before this change we had this: $> lvs -a LV VG Attr LSize Pool Origin lvol0 mvg owi-a-s- 128.00k lvol1 mvg owi-a-s- 128.00k lvol2 mvg swi-a-s- 1.25m lvol0 lvol3 mvg swi-a-s- 1.25m lvol1 $> lvchange -an mvg ; echo $? Can't change snapshot logical volume "lvol2". Can't change snapshot logical volume "lvol3". 5 $> lvs -a LV VG Attr LSize Pool Origin lvol0 mvg owi---s- 128.00k lvol1 mvg owi---s- 128.00k lvol2 mvg swi---s- 1.25m lvol0 lvol3 mvg swi---s- 1.25m lvol1 $> lvchange -ay mvg ; echo $? Can't change snapshot logical volume "lvol2". Can't change snapshot logical volume "lvol3". 5 $> lvs LV VG Attr LSize Pool Origin lvol0 mvg owi-a-s- 128.00k lvol1 mvg owi-a-s- 128.00k lvol2 mvg swi-a-s- 1.25m lvol0 lvol3 mvg swi-a-s- 1.25m lvol1 After commit: $> lvs -a LV VG Attr LSize Pool Origin lvol0 mvg owi-a-s- 128.00k lvol1 mvg owi-a-s- 128.00k lvol2 mvg swi-a-s- 1.25m lvol0 lvol3 mvg swi-a-s- 1.25m lvol1 $> lvchange -an mvg ; echo $? 0 $> lvs -a LV VG Attr LSize Pool Origin lvol0 mvg owi---s- 128.00k lvol1 mvg owi---s- 128.00k lvol2 mvg swi---s- 1.25m lvol0 lvol3 mvg swi---s- 1.25m lvol1 $> lvchange -ay mvg ; echo $? 0 $> lvs -a LV VG Attr LSize Pool Origin lvol0 mvg owi-a-s- 128.00k lvol1 mvg owi-a-s- 128.00k lvol2 mvg swi-a-s- 1.25m lvol0 lvol3 mvg swi-a-s- 1.25m lvol1
This commit is contained in:
parent
986a6d9d85
commit
0ae01cf29d
@ -1,5 +1,6 @@
|
||||
Version 2.02.89 -
|
||||
==================================
|
||||
Skip non-virtual origins for availability change for lvchange.
|
||||
Adjusted mirror region size only for mirrors and raids.
|
||||
Reorder prompt conditions for removal of active volumes.
|
||||
Avoid 'mda inconsistency' by properly registering UNLABELLED_PV flag (2.02.86).
|
||||
|
@ -123,6 +123,12 @@ int process_each_lv_in_vg(struct cmd_context *cmd,
|
||||
if (lvl->lv->status & SNAPSHOT)
|
||||
continue;
|
||||
|
||||
/* Skip availability change for non-virt snaps when processing all LVs */
|
||||
/* FIXME: pass process_all to process_single_lv() */
|
||||
if (process_all && arg_count(cmd, available_ARG) &&
|
||||
lv_is_cow(lvl->lv) && !lv_is_virtual_origin(origin_from_cow(lvl->lv)))
|
||||
continue;
|
||||
|
||||
if (lv_is_virtual_origin(lvl->lv) && !arg_count(cmd, all_ARG))
|
||||
continue;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user