mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +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:
parent
9d5a318ac6
commit
89777f9cec
@ -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
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user