mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-30 10:50:34 +03:00
Refactor vgmerge - create _vgmerge_from and _vgmerge_to.
These functions are really identical but for clarity I made them separate functions in this patch. Should be no functional change. Author: Dave Wysochanski <dwysocha@redhat.com>
This commit is contained in:
parent
115bc65bae
commit
af9ded781d
@ -15,6 +15,33 @@
|
||||
|
||||
#include "tools.h"
|
||||
|
||||
static struct volume_group *_vgmerge_from(struct cmd_context *cmd,
|
||||
const char *vg_name_from)
|
||||
{
|
||||
struct volume_group *vg_from;
|
||||
log_verbose("Checking for volume group \"%s\"", vg_name_from);
|
||||
vg_from = vg_read_for_update(cmd, vg_name_from, NULL, 0);
|
||||
if (vg_read_error(vg_from)) {
|
||||
vg_release(vg_from);
|
||||
return NULL;
|
||||
}
|
||||
return vg_from;
|
||||
}
|
||||
|
||||
static struct volume_group *_vgmerge_to(struct cmd_context *cmd,
|
||||
const char *vg_name_to)
|
||||
{
|
||||
struct volume_group *vg_to;
|
||||
|
||||
log_verbose("Checking for volume group \"%s\"", vg_name_to);
|
||||
vg_to = vg_read_for_update(cmd, vg_name_to, NULL, 0);
|
||||
if (vg_read_error(vg_to)) {
|
||||
vg_release(vg_to);
|
||||
return NULL;
|
||||
}
|
||||
return vg_to;
|
||||
}
|
||||
|
||||
static int _vgmerge_single(struct cmd_context *cmd, const char *vg_name_to,
|
||||
const char *vg_name_from)
|
||||
{
|
||||
@ -28,17 +55,12 @@ static int _vgmerge_single(struct cmd_context *cmd, const char *vg_name_to,
|
||||
return ECMD_FAILED;
|
||||
}
|
||||
|
||||
log_verbose("Checking for volume group \"%s\"", vg_name_to);
|
||||
vg_to = vg_read_for_update(cmd, vg_name_to, NULL, 0);
|
||||
if (vg_read_error(vg_to)) {
|
||||
vg_release(vg_to);
|
||||
vg_to = _vgmerge_to(cmd, vg_name_to);
|
||||
if (!vg_to)
|
||||
return ECMD_FAILED;
|
||||
}
|
||||
|
||||
log_verbose("Checking for volume group \"%s\"", vg_name_from);
|
||||
vg_from = vg_read_for_update(cmd, vg_name_from, NULL, 0);
|
||||
if (vg_read_error(vg_from)) {
|
||||
vg_release(vg_from);
|
||||
vg_from = _vgmerge_from(cmd, vg_name_from);
|
||||
if (!vg_from) {
|
||||
unlock_and_release_vg(cmd, vg_to, vg_name_to);
|
||||
return ECMD_FAILED;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user