struct logical_volume *pool_lv;
struct lv_list *lvl;
int origin_active = 0;
- struct lvinfo info;
if (new_lv_name && find_lv_in_vg(vg, new_lv_name)) {
log_error("Logical volume \"%s\" already exists in "
log_warn("WARNING: See global/mirror_segtype_default in lvm.conf.");
}
- if (!lv_info(cmd, org, 0, &info, 0, 0)) {
+ if (!lv_is_active(org)) {
log_error("Check for existence of active snapshot "
"origin '%s' failed.", org->name);
return NULL;
}
- origin_active = info.exists;
+ origin_active = 1;
if (vg_is_clustered(vg) &&
!lv_is_active_exclusive_locally(org)) {
struct dm_list *tags, int remove_on_failure)
{
struct str_list *sl;
- struct lvinfo info;
uint64_t orig_status = log_lv->status;
int was_active = 0;
}
/* If the LV is active, deactivate it first. */
- if (lv_info(cmd, log_lv, 0, &info, 0, 0) && info.exists) {
- (void)deactivate_lv(cmd, log_lv);
+ if (lv_is_active(log_lv)) {
/*
* FIXME: workaround to fail early
* Ensure that log is really deactivated because deactivate_lv
* on cluster do not fail if there is log_lv with different UUID.
*/
- if (lv_info(cmd, log_lv, 0, &info, 0, 0) && info.exists) {
+ if (!deactivate_lv(cmd, log_lv)) {
log_error("Aborting. Unable to deactivate mirror log.");
goto revert_new_lv;
}
int force)
{
percent_t sync_percent;
- struct lvinfo info;
struct volume_group *vg = lv->vg;
/* Unimplemented features */
}
/* Had disk log, switch to core. */
- if (lv_info(cmd, lv, 0, &info, 0, 0) && info.exists) {
+ if (lv_is_active(lv)) {
if (!lv_mirror_percent(cmd, lv, 0, &sync_percent,
NULL)) {
log_error("Unable to determine mirror sync status.");
const void *data, void *private __attribute__((unused)))
{
const struct logical_volume *lv = (const struct logical_volume *) data;
- struct lvinfo info;
percent_t snap_percent;
uint64_t *sortval;
char *repstr;
}
if ((!lv_is_cow(lv) && !lv_is_merging_origin(lv)) ||
- !lv_info(lv->vg->cmd, lv, 0, &info, 0, 0) || !info.exists) {
+ !lv_is_active(lv)) {
*sortval = UINT64_C(0);
dm_report_field_set_value(field, "", sortval);
return 1;