[lvm-devel] [PATCH 3/4] Do not allow pvmove if some affected LVs are activated locally or on more nodes while others are activated exclusively.

Milan Broz mbroz at redhat.com
Sun Mar 25 21:00:56 UTC 2012


On 03/25/2012 10:56 PM, Milan Broz wrote:
> Current pvmove code can either use local mirror (for exclusive
> activation) or cmirror (for clustered LVs).
>
> Because the whole intenal pvmove LV is just segmented LV containing
> segments of several top-level LVs, code cannot properly handle
> situation if some segment need to be activated exclusively.
>
> Previously, it wrongly activated exclusive LV on all nodes
> (locing code allowed it) but now this is no lnger possible.
>
> If there is exclusively activated LV, pvmove is only
> possible if all affected LVs are aslo activated exclusively.
>
> (Note that in non-exclusive mode pvmove still activates LVs
> on other nodes during move.)
>
> Example - lv1 and lv2 are on sdc:
>    Error locking on node bar-01: Device or resource busy
>    Error locking on node bar-03: Volume is busy on another node
> ...
>    Failed to activate lv2

Ehm. git commented out all lines starting # :-)

It should be read:

Example - lv1 and lv2 are on sdc:

# lvchange -aly vg_test/lv1
# lvchange -aey vg_test/lv2
# pvmove -i 1 /dev/sdc
   Error locking on node bar-01: Device or resource busy
   Error locking on node bar-03: Volume is busy on another node
...
   Failed to activate lv2

m.




More information about the lvm-devel mailing list