}
}
- if (update_mda && !archive(vg))
- return_0;
-
if (old_lv_is_historical) {
/*
* Historical LVs have neither sub LVs nor any
if (!lockd_lv_resize(cmd, lock_lv, "ex", 0, lp))
return_0;
- if (!archive(vg))
- return_0;
-
/* Remove any striped raid reshape space for LV resizing */
if (aux_lv && first_seg(aux_lv)->reshape_len)
if (!lv_raid_free_reshape_space(aux_lv))
return 0;
}
- if (!archive(vg))
- return_0;
-
if (!lv_detach_writecache_cachevol(lv, 1)) {
log_error("Failed to detach writecache from %s", display_lvname(lv));
return 0;
/* FIXME Review and fix the snapshot error paths! */
return_0;
- if (!archive(vg))
- return_0;
-
/* Special case removing a striped raid LV with allocated reshape space */
if (seg && seg->reshape_len) {
if (!(seg->segtype = get_segtype_from_string(cmd, SEG_TYPE_NAME_STRIPED)))
return NULL;
}
- if (!archive(vg))
- return_NULL;
-
if (pool_lv && segtype_is_thin_volume(create_segtype)) {
/* Ensure all stacked messages are submitted */
if ((pool_is_active(pool_lv) || is_change_activating(lp->activate)) &&
return 0;
}
- if (!archive(vg))
- return 0;
-
return 1;
}
if (vg->cmd->wipe_outdated_pvs)
_wipe_outdated_pvs(vg->cmd, vg);
+ if (!vg_is_archived(vg) && vg->vg_committed && !archive(vg->vg_committed))
+ return_0;
+
if (critical_section())
log_error(INTERNAL_ERROR
"Writing metadata in critical section.");
const char *vg_name = pv->vg_name;
int vg_needs_pv_write = 0;
- if (!archive(vg))
- goto out;
-
if (!(pv->fmt->features & FMT_RESIZE_PV)) {
log_error("Physical volume %s format does not support resizing.",
pv_name);
pvl = find_pv_in_vg(vg, name);
- if (!archive(vg))
- goto_bad;
-
log_verbose("Removing \"%s\" from volume group \"%s\"", name, vg->name);
if (pvl)
}
}
- if (!archive(vg))
- return_0;
-
log_verbose("Splitting snapshot %s from its origin.", display_lvname(cow));
if (!vg_remove_snapshot(cow))
if (!(lvc.segtype = get_segtype_from_string(cmd, SEG_TYPE_NAME_THIN)))
return_0;
- if (!archive(vg))
- return_0;
-
/*
* New thin LV needs to be created (all messages sent to pool) In this
* case thin volume is created READ-ONLY and also warn about not
return 0;
}
- if (!archive(vg))
- return_0;
-
/* Swap names between old and new metadata LV */
if (!detach_pool_metadata_lv(seg, &prev_metadata_lv))
meta_readahead = arg_uint_value(cmd, readahead_ARG, cmd->default_settings.read_ahead);
meta_alloc = (alloc_policy_t) arg_uint_value(cmd, alloc_ARG, ALLOC_INHERIT);
- if (!archive(vg))
- goto_bad;
-
if (!(metadata_lv = alloc_pool_metadata(lv,
meta_name,
meta_readahead,
goto bad;
}
- if (!archive(vg))
- goto_bad;
-
if (zero_metadata) {
metadata_lv->status |= LV_ACTIVATION_SKIP;
if (!activate_lv(cmd, metadata_lv)) {
if (!get_cache_params(cmd, &chunk_size, &cache_metadata_format, &cache_mode, &policy_name, &policy_settings))
goto_out;
- if (!archive(vg))
- goto_out;
-
/*
* lv/cache_lv keeps the same lockd lock it had before, the lock for
* lv_fast is kept but is not used while it's attached, and
}
}
- if (!archive(vg))
- goto_out;
-
if (!convert_vdo_pool_lv(lv, &vdo_params, &lvc.virtual_extents, zero_vdopool))
goto_out;
if (fast_name && !lockd_lv(cmd, lv_fast, "ex", 0))
goto_bad;
- if (!archive(vg))
- goto_bad;
-
/*
* lv keeps the same lockd lock it had before, the lock for
* lv_fast is kept but is not used while it's attached, and
if (!lockd_lv(cmd, lv, "ex", 0))
return_0;
- if (!archive(vg))
- return_0;
-
if (lv_is_raid(lv))
ret = lv_remove_integrity_from_raid(lv);
if (!ret)
} else
use_pvh = &vg->pvs;
- if (!archive(vg))
- return_0;
-
if (lv_is_partial(lv)) {
log_error("Cannot add integrity while LV is missing PVs.");
return 0;
"logical volumes", pv_name);
goto bad;
}
- if (!archive(vg))
- goto_bad;
} else {
if (tagargs) {
log_error("Can't change tag on Physical Volume %s not "
vg, pv, pp->alloc)))
goto_out;
- if (!archive(vg))
- goto_out;
-
if (!(lv_mirr = _set_up_pvmove_lv(cmd, vg, source_pvl, lv_name,
allocatable_pvs, pp->alloc,
&lvs_changed, &exclusive)))
for (i = 0; i < DM_ARRAY_SIZE(_vgchange_args); ++i) {
if (arg_is_set(cmd, _vgchange_args[i].arg)) {
- if (!archive(vg))
- return_ECMD_FAILED;
if (!_vgchange_args[i].fn(cmd, vg))
return_ECMD_FAILED;
}
struct volume_group *vg,
struct processing_handle *handle)
{
- if (!archive(vg))
- return_ECMD_FAILED;
-
if (!_vgchange_locktype(cmd, vg))
return_ECMD_FAILED;
struct volume_group *vg,
struct processing_handle *handle)
{
- if (!archive(vg))
- return_ECMD_FAILED;
-
if (!_vgchange_system_id(cmd, vg))
return_ECMD_FAILED;
}
}
- if (!archive(vg))
- goto_bad;
-
/* Store VG on disk(s) */
if (!vg_write(vg) || !vg_commit(vg))
goto_bad;
}
}
-
- if (!archive(vg))
- goto_bad;
-
vg->status |= EXPORTED_VG;
vg->system_id = NULL;
int fixed = 0;
unsigned i;
- if (!archive(vg))
- return_0;
-
for (i = 0; i < pp->pv_count; i++)
if (_restore_pv(vg, pp->pv_names[i]))
fixed++;
return ECMD_FAILED;
}
- if (!archive(vg))
- return_ECMD_FAILED;
-
if (!vg_extend_each_pv(vg, pp))
goto_out;
goto bad;
}
- if (!archive(vg))
- goto_bad;
-
vg->status &= ~EXPORTED_VG;
if (!vg_is_shared(vg))
* Write changes.
*/
- if (!archive(vg))
- goto_bad;
-
if (vp->import_vg)
vg->status &= ~EXPORTED_VG;
return ECMD_PROCESSED;
}
- if (!archive(vg))
- return_ECMD_FAILED;
-
if (vp->force) {
if (!_make_vg_consistent(cmd, vg))
return_ECMD_FAILED;
dev_dir = cmd->dev_dir;
- if (!archive(vg))
- goto error;
-
if (!lockd_rename_vg_before(cmd, vg)) {
stack;
goto error;