[lvm-devel] LVM2 lib/metadata/metadata-exported.h lib/meta ...
wysochanski at sourceware.org
wysochanski at sourceware.org
Mon Oct 5 20:03:09 UTC 2009
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: wysochanski at sourceware.org 2009-10-05 20:03:08
Modified files:
lib/metadata : metadata-exported.h metadata.c
liblvm : lvm_vg.c
Log message:
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.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata-exported.h.diff?cvsroot=lvm2&r1=1.115&r2=1.116
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata.c.diff?cvsroot=lvm2&r1=1.287&r2=1.288
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/liblvm/lvm_vg.c.diff?cvsroot=lvm2&r1=1.31&r2=1.32
--- LVM2/lib/metadata/metadata-exported.h 2009/10/05 20:02:48 1.115
+++ LVM2/lib/metadata/metadata-exported.h 2009/10/05 20:03:08 1.116
@@ -371,6 +371,7 @@
struct physical_volume *pvcreate_single(struct cmd_context *cmd,
const char *pv_name,
struct pvcreate_params *pp);
+void fill_default_pvcreate_params(struct pvcreate_params *pp);
/*
* Utility functions
--- LVM2/lib/metadata/metadata.c 2009/10/05 20:02:48 1.287
+++ LVM2/lib/metadata/metadata.c 2009/10/05 20:03:08 1.288
@@ -1272,7 +1272,7 @@
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));
pp->zero = 0;
--- LVM2/liblvm/lvm_vg.c 2009/10/05 20:02:48 1.31
+++ LVM2/liblvm/lvm_vg.c 2009/10/05 20:03:08 1.32
@@ -41,6 +41,8 @@
int lvm_vg_extend(vg_t vg, const char *device)
{
+ struct pvcreate_params pp;
+
if (vg_read_error(vg))
return -1;
@@ -52,15 +54,8 @@
return -1;
}
- /* If device not initialized, pvcreate it */
- if (!pv_by_path(vg->cmd, device) &&
- (!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)) {
+ fill_default_pvcreate_params(&pp);
+ if (!vg_extend(vg, 1, (char **) &device, &pp)) {
unlock_vg(vg->cmd, VG_ORPHANS);
return -1;
}
More information about the lvm-devel
mailing list