1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-02 01:18:26 +03:00

Allow calling fill_default_pvcreate_params from tools.

We need defaults for pvcreate_params at a higher level - this will
allow us to use a common function from the tools to take defaults,
then fill in any non-defaults from the commandline.

Future patches will refactor vgcreate/vgextend to call this function
if one or more pvcreate parameters are given on the commandline.
This commit is contained in:
Dave Wysochanski 2009-10-05 20:03:08 +00:00
parent 29123aa652
commit c24a4ff2cc
3 changed files with 6 additions and 10 deletions

View File

@ -371,6 +371,7 @@ struct pvcreate_params {
struct physical_volume *pvcreate_single(struct cmd_context *cmd, struct physical_volume *pvcreate_single(struct cmd_context *cmd,
const char *pv_name, const char *pv_name,
struct pvcreate_params *pp); struct pvcreate_params *pp);
void fill_default_pvcreate_params(struct pvcreate_params *pp);
/* /*
* Utility functions * Utility functions

View File

@ -1272,7 +1272,7 @@ static int pvcreate_check(struct cmd_context *cmd, const char *name,
return 1; return 1;
} }
static void fill_default_pvcreate_params(struct pvcreate_params *pp) void fill_default_pvcreate_params(struct pvcreate_params *pp)
{ {
memset(pp, 0, sizeof(*pp)); memset(pp, 0, sizeof(*pp));
pp->zero = 0; pp->zero = 0;

View File

@ -41,6 +41,8 @@ vg_t lvm_vg_create(lvm_t libh, const char *vg_name)
int lvm_vg_extend(vg_t vg, const char *device) int lvm_vg_extend(vg_t vg, const char *device)
{ {
struct pvcreate_params pp;
if (vg_read_error(vg)) if (vg_read_error(vg))
return -1; return -1;
@ -52,15 +54,8 @@ int lvm_vg_extend(vg_t vg, const char *device)
return -1; return -1;
} }
/* If device not initialized, pvcreate it */ fill_default_pvcreate_params(&pp);
if (!pv_by_path(vg->cmd, device) && if (!vg_extend(vg, 1, (char **) &device, &pp)) {
(!pvcreate_single(vg->cmd, device, NULL))) {
log_error("Unable to initialize device for LVM use");
unlock_vg(vg->cmd, VG_ORPHANS);
return -1;
}
if (!vg_extend(vg, 1, (char **) &device, NULL)) {
unlock_vg(vg->cmd, VG_ORPHANS); unlock_vg(vg->cmd, VG_ORPHANS);
return -1; return -1;
} }