]> sourceware.org Git - lvm2.git/commit
Do not allow pvmove if some affected LVs are activated
authorMilan Broz <mbroz@redhat.com>
Mon, 26 Mar 2012 20:32:58 +0000 (20:32 +0000)
committerMilan Broz <mbroz@redhat.com>
Mon, 26 Mar 2012 20:32:58 +0000 (20:32 +0000)
commitdcd90bc501677849ee50b430ea956be7392dffae
tree18ede1641cec6b19a0191e6f47fa0e5d279c4dcb
parent3366541aabbc6c74975ef3660d96139a835c6ba8
Do not allow pvmove if some affected LVs are activated
locally or on more nodes while others are activated exclusively.

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.)

# 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
WHATS_NEW
tools/pvmove.c
This page took 0.030921 seconds and 5 git commands to generate.