Red Hat Bugzilla – Bug 822213
Disallow vgchange --clustered n if any LVs in the VG are active on remote nodes
Last modified: 2018-05-02 00:42:56 EDT
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development. This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.
Marking docs_scoped- since it looks as if this change does not require an update the LVM manual. If that is not correct and this should be added to the user manual, please let me know.
Summary: If using -cn to say that a VG is no longer clustered, it makes no sense for us to allow any of the LVs to remain active on any other node. Otherwise it would still actually be clustered but we would be encouraging people to pretend it was not!
So we don't currently have a function to tell us definitively whether or not an LV is active on a remote node. I have a prototype patch but further work is needed.
I think the one outstanding change is to update distribute_command() in clvmd.c so that when CLVMD_FLAG_REMOTE is set it no longer also contacts the local node.
(So for this case, remove add_to_lvmqueue, reduce the number of expected replies by one, and do something sensible if the local node is the only node. Note that this is a shared code path with requests to contact all nodes.)
We have a function many lv_is_active_*() functions. We don't have one specifically for this check, but we could. The capability is there in the base function (_lv_is_active()).
I'll devel_ack+ this one.