1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-28 11:55:55 +03:00

Change pvcreate_single to return pv_t and update function description.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>


Author: Dave Wysochanski <dwysocha@redhat.com>
This commit is contained in:
Dave Wysochanski 2009-07-26 01:53:57 +00:00
parent 9d5a318ac6
commit 89777f9cec
2 changed files with 19 additions and 6 deletions

View File

@ -354,7 +354,8 @@ struct pvcreate_params {
unsigned yes; unsigned yes;
}; };
int pvcreate_single(struct cmd_context *cmd, const char *pv_name, void *handle); pv_t * pvcreate_single(struct cmd_context *cmd, const char *pv_name,
void *handle);
/* /*
* Utility functions * Utility functions

View File

@ -1107,7 +1107,19 @@ static void fill_default_pvcreate_params(struct pvcreate_params *pp)
pp->yes = 0; pp->yes = 0;
} }
int pvcreate_single(struct cmd_context *cmd, const char *pv_name, void *handle) /*
* pvcreate_single() - initialize a device with PV label and metadata
*
* Parameters:
* - pv_name: device path to initialize
* - handle: options to pass to pv_create; NULL indicates use defaults
*
* Returns:
* NULL: error
* pv_t * (non-NULL): handle to physical volume created
*/
pv_t * pvcreate_single(struct cmd_context *cmd, const char *pv_name,
void *handle)
{ {
struct pvcreate_params *pp; struct pvcreate_params *pp;
void *pv; void *pv;
@ -1126,13 +1138,13 @@ int pvcreate_single(struct cmd_context *cmd, const char *pv_name, void *handle)
(dev != dev_cache_get(pv_name, cmd->filter))) { (dev != dev_cache_get(pv_name, cmd->filter))) {
log_error("uuid %s already in use on \"%s\"", log_error("uuid %s already in use on \"%s\"",
pp->idp->uuid, dev_name(dev)); pp->idp->uuid, dev_name(dev));
return 0; return NULL;
} }
} }
if (!lock_vol(cmd, VG_ORPHANS, LCK_VG_WRITE)) { if (!lock_vol(cmd, VG_ORPHANS, LCK_VG_WRITE)) {
log_error("Can't get lock for orphan PVs"); log_error("Can't get lock for orphan PVs");
return 0; return NULL;
} }
if (!pvcreate_check(cmd, pv_name, pp)) if (!pvcreate_check(cmd, pv_name, pp))
@ -1192,11 +1204,11 @@ int pvcreate_single(struct cmd_context *cmd, const char *pv_name, void *handle)
log_print("Physical volume \"%s\" successfully created", pv_name); log_print("Physical volume \"%s\" successfully created", pv_name);
unlock_vg(cmd, VG_ORPHANS); unlock_vg(cmd, VG_ORPHANS);
return 1; return pv;
error: error:
unlock_vg(cmd, VG_ORPHANS); unlock_vg(cmd, VG_ORPHANS);
return 0; return NULL;
} }
static void _free_pv(struct dm_pool *mem, struct physical_volume *pv) static void _free_pv(struct dm_pool *mem, struct physical_volume *pv)