1
0
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:
Dave Wysochanski 2009-09-02 21:28:10 +00:00
parent 115bc65bae
commit af9ded781d

View File

@ -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;
}