1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-10 16:58:47 +03:00

cleanup: use display_lvname and msg cleanup

Use display_lvname in tracing messages.
Add some missing 'dots' to messages.
This commit is contained in:
Zdenek Kabelac 2016-11-16 15:11:07 +01:00
parent 0ad95b77d0
commit 5fd5cfe061
5 changed files with 126 additions and 121 deletions

View File

@ -61,7 +61,7 @@ static int _process_raid_event(struct dso_state *state, char *params, const char
if (status->insync_regions < status->total_regions) {
if (!state->warned)
log_warn("WARNING: waiting for resynchronization to finish "
"before initiating repair on RAID device %s", device);
"before initiating repair on RAID device %s.", device);
state->warned = 1;
goto out; /* Not yet done syncing with accessible devices */

View File

@ -1132,14 +1132,15 @@ int set_lv_segment_area_lv(struct lv_segment *seg, uint32_t area_num,
struct logical_volume *lv, uint32_t le,
uint64_t status)
{
log_very_verbose("Stack %s:%" PRIu32 "[%" PRIu32 "] on LV %s:%" PRIu32,
seg->lv->name, seg->le, area_num, lv->name, le);
log_very_verbose("Stack %s:" FMTu32 "[" FMTu32 "] on LV %s:" FMTu32 ".",
display_lvname(seg->lv), seg->le, area_num,
display_lvname(lv), le);
if (status & RAID_META) {
seg->meta_areas[area_num].type = AREA_LV;
seg_metalv(seg, area_num) = lv;
if (le) {
log_error(INTERNAL_ERROR "Meta le != 0");
log_error(INTERNAL_ERROR "Meta le != 0.");
return 0;
}
seg_metale(seg, area_num) = 0;
@ -3617,16 +3618,16 @@ int lv_add_mirror_areas(struct alloc_handle *ah,
dm_list_iterate_items(aa, &ah->alloced_areas[0]) {
if (!(seg = find_seg_by_le(lv, current_le))) {
log_error("Failed to find segment for %s extent %"
PRIu32, lv->name, current_le);
log_error("Failed to find segment for %s extent " FMTu32 ".",
display_lvname(lv), current_le);
return 0;
}
/* Allocator assures aa[0].len <= seg->area_len */
if (aa[0].len < seg->area_len) {
if (!lv_split_segment(lv, seg->le + aa[0].len)) {
log_error("Failed to split segment at %s "
"extent %" PRIu32, lv->name, le);
log_error("Failed to split segment at %s extent " FMTu32 ".",
display_lvname(lv), le);
return 0;
}
}
@ -3675,7 +3676,7 @@ int lv_add_mirror_lvs(struct logical_volume *lv,
seg = first_seg(lv);
if (dm_list_size(&lv->segments) != 1 || seg_type(seg, 0) != AREA_LV) {
log_error("Mirror layer must be inserted before adding mirrors");
log_error("Mirror layer must be inserted before adding mirrors.");
return 0;
}
@ -3685,7 +3686,7 @@ int lv_add_mirror_lvs(struct logical_volume *lv,
return_0;
if (region_size && region_size != seg->region_size) {
log_error("Conflicting region_size");
log_error("Conflicting region_size.");
return 0;
}
@ -3694,7 +3695,7 @@ int lv_add_mirror_lvs(struct logical_volume *lv,
if (!_lv_segment_add_areas(lv, seg, new_area_count)) {
log_error("Failed to allocate widened LV segment for %s.",
lv->name);
display_lvname(lv));
return 0;
}

View File

@ -136,16 +136,15 @@ struct lv_segment *find_mirror_seg(struct lv_segment *seg)
{
struct lv_segment *mirror_seg;
mirror_seg = get_only_segment_using_this_lv(seg->lv);
if (!mirror_seg) {
log_error("Failed to find mirror_seg for %s", seg->lv->name);
if (!(mirror_seg = get_only_segment_using_this_lv(seg->lv))) {
log_error("Failed to find mirror_seg for %s", display_lvname(seg->lv));
return NULL;
}
if (!seg_is_mirrored(mirror_seg)) {
log_error("%s on %s is not a mirror segments",
mirror_seg->lv->name, seg->lv->name);
log_error("LV %s on %s is not a mirror segments.",
display_lvname(mirror_seg->lv),
display_lvname(seg->lv));
return NULL;
}
@ -246,7 +245,7 @@ int shift_mirror_images(struct lv_segment *mirrored_seg, unsigned mimage)
if (mimage >= mirrored_seg->area_count) {
log_error("Invalid index (%u) of mirror image supplied "
"to shift_mirror_images()", mimage);
"to shift_mirror_images().", mimage);
return 0;
}
@ -282,21 +281,22 @@ static int _write_log_header(struct cmd_context *cmd, struct logical_volume *lv)
log_header.nr_regions = xlate64((uint64_t)-1);
if (!(name = dm_pool_alloc(cmd->mem, PATH_MAX))) {
log_error("Name allocation failed - log header not written (%s)",
lv->name);
log_error("Name allocation failed - log header not written (%s).",
display_lvname(lv));
return 0;
}
if (dm_snprintf(name, PATH_MAX, "%s%s/%s", cmd->dev_dir,
lv->vg->name, lv->name) < 0) {
log_error("Name too long - log header not written (%s)", lv->name);
log_error("Name too long - log header not written (%s).",
display_lvname(lv));
return 0;
}
log_verbose("Writing log header to device, %s", lv->name);
log_verbose("Writing log header to device %s.", display_lvname(lv));
if (!(dev = dev_cache_get(name, NULL))) {
log_error("%s: not found: log header not written", name);
log_error("%s: not found: log header not written.", name);
return 0;
}
@ -304,7 +304,7 @@ static int _write_log_header(struct cmd_context *cmd, struct logical_volume *lv)
return 0;
if (!dev_write(dev, UINT64_C(0), sizeof(log_header), &log_header)) {
log_error("Failed to write log header to %s", name);
log_error("Failed to write log header to %s.", name);
dev_close_immediate(dev);
return 0;
}
@ -663,8 +663,8 @@ static int _split_mirror_images(struct logical_volume *lv,
struct cmd_context *cmd = lv->vg->cmd;
if (!lv_is_mirrored(lv)) {
log_error("Unable to split non-mirrored LV, %s",
lv->name);
log_error("Unable to split non-mirrored LV %s.",
display_lvname(lv));
return 0;
}
@ -673,8 +673,8 @@ static int _split_mirror_images(struct logical_volume *lv,
return 0;
}
log_verbose("Detaching %d images from mirror, %s",
split_count, lv->name);
log_verbose("Detaching %d images from mirror %s.",
split_count, display_lvname(lv));
if (!_move_removable_mimages_to_end(lv, split_count, removable_pvs)) {
/*
@ -684,8 +684,7 @@ static int _split_mirror_images(struct logical_volume *lv,
* removable PVs or all of them. Should we allow
* them to just specify some - making us pick the rest?
*/
log_error("Insufficient removable PVs given"
" to satisfy request");
log_error("Insufficient removable PVs given to satisfy request.");
return 0;
}
@ -704,7 +703,7 @@ static int _split_mirror_images(struct logical_volume *lv,
if (!release_lv_segment_area(mirrored_seg, mirrored_seg->area_count, mirrored_seg->area_len))
return_0;
log_very_verbose("%s assigned to be split", sub_lv->name);
log_very_verbose("LV %s assigned to be split.", display_lvname(sub_lv));
if (!new_lv) {
lv_set_visible(sub_lv);
@ -715,7 +714,7 @@ static int _split_mirror_images(struct logical_volume *lv,
/* If there is more than one image being split, add to list */
lvl = dm_pool_alloc(lv->vg->vgmem, sizeof(*lvl));
if (!lvl) {
log_error("lv_list alloc failed");
log_error("lv_list alloc failed.");
return 0;
}
lvl->lv = sub_lv;
@ -738,8 +737,8 @@ static int _split_mirror_images(struct logical_volume *lv,
*/
if (!insert_layer_for_lv(cmd, new_lv, 0, "_mimage_%d")) {
log_error("Failed to build new mirror, %s",
new_lv->name);
log_error("Failed to build new mirror, %s.",
display_lvname(new_lv));
return 0;
}
@ -750,25 +749,25 @@ static int _split_mirror_images(struct logical_volume *lv,
if (dm_snprintf(format, len, "%s_mimage_%%d",
new_lv->name) < 0) {
log_error("Failed to build new image name.");
log_error("Failed to build new image name for %s.",
display_lvname(new_lv));
return 0;
}
layer_name = dm_pool_alloc(lv->vg->vgmem, len);
if (!layer_name) {
log_error("Unable to allocate memory");
if (!(layer_name = dm_pool_alloc(lv->vg->vgmem, len))) {
log_error("Unable to allocate memory.");
return 0;
}
if (!generate_lv_name(lv->vg, format, layer_name, len)||
sscanf(layer_name, format, &i) != 1) {
log_error("Failed to generate new image names");
log_error("Failed to generate new image names for %s.",
display_lvname(new_lv));
return 0;
}
sub_lv->name = layer_name;
}
if (!_merge_mirror_images(new_lv, &split_images)) {
log_error("Failed to group split "
"images into new mirror");
log_error("Failed to group split images into new mirror.");
return 0;
}
@ -904,15 +903,14 @@ static int _remove_mirror_images(struct logical_volume *lv,
if (removed)
*removed = 0;
log_very_verbose("Reducing mirror set %s from %" PRIu32 " to %"
PRIu32 " image(s)%s.", lv->name,
log_very_verbose("Reducing mirror set %s from " FMTu32 " to " FMTu32
" image(s)%s.", display_lvname(lv),
old_area_count, old_area_count - num_removed,
remove_log ? " and no log volume" : "");
if (collapse && (old_area_count - num_removed != 1)) {
log_error("Incompatible parameters to _remove_mirror_images");
log_error("Incompatible parameters to _remove_mirror_images.");
return 0;
}
num_removed = 0;
@ -936,7 +934,8 @@ static int _remove_mirror_images(struct logical_volume *lv,
*/
if ((s == 0) && !_mirrored_lv_in_sync(lv) &&
!(lv_is_partial(lv))) {
log_error("Unable to remove primary mirror image while mirror is not in-sync");
log_error("Unable to remove primary mirror image while mirror volume "
"%s is not in-sync.", display_lvname(lv));
return 0;
}
if (!shift_mirror_images(mirrored_seg, s))
@ -965,7 +964,7 @@ static int _remove_mirror_images(struct logical_volume *lv,
seg_lv(mirrored_seg, m)->status &= ~MIRROR_IMAGE;
lv_set_visible(seg_lv(mirrored_seg, m));
if (!(lvl = dm_pool_alloc(lv->vg->cmd->mem, sizeof(*lvl)))) {
log_error("lv_list alloc failed");
log_error("lv_list alloc failed.");
return 0;
}
lvl->lv = seg_lv(mirrored_seg, m);
@ -987,7 +986,7 @@ static int _remove_mirror_images(struct logical_volume *lv,
if (!remove_layer_from_lv(lv, temp_layer_lv))
return_0;
if (collapse && !_merge_mirror_images(lv, &tmp_orphan_lvs)) {
log_error("Failed to add mirror images");
log_error("Failed to add mirror images.");
return 0;
}
/*
@ -1008,7 +1007,7 @@ static int _remove_mirror_images(struct logical_volume *lv,
dm_list_iterate_items(pvmove_seg, &lv->segments)
pvmove_seg->status |= PVMOVE;
} else if (new_area_count == 0) {
log_very_verbose("All mimages of %s are gone", lv->name);
log_very_verbose("All mimages of %s are gone.", display_lvname(lv));
/* All mirror images are gone.
* It can happen for vgreduce --removemissing. */
@ -1037,8 +1036,8 @@ static int _remove_mirror_images(struct logical_volume *lv,
lv_is_partial(detached_log_lv)) {
struct lv_segment *seg = first_seg(detached_log_lv);
log_very_verbose("%s being removed due to failures",
detached_log_lv->name);
log_very_verbose("%s being removed due to failures.",
display_lvname(detached_log_lv));
/*
* We are going to replace the mirror with an
@ -1047,20 +1046,19 @@ static int _remove_mirror_images(struct logical_volume *lv,
* the sub-lv's)
*/
for (m = 0; m < seg->area_count; m++) {
if (!(lvl = dm_pool_alloc(lv->vg->cmd->mem,
sizeof(*lvl))))
return_0;
seg_lv(seg, m)->status &= ~MIRROR_IMAGE;
lv_set_visible(seg_lv(seg, m));
if (!(lvl = dm_pool_alloc(lv->vg->cmd->mem,
sizeof(*lvl)))) {
log_error("dm_pool_alloc failed");
return 0;
}
lvl->lv = seg_lv(seg, m);
dm_list_add(&tmp_orphan_lvs, &lvl->list);
}
if (!replace_lv_with_error_segment(detached_log_lv)) {
log_error("Failed error target substitution for %s",
detached_log_lv->name);
log_error("Failed error target substitution for %s.",
display_lvname(detached_log_lv));
return 0;
}
@ -1095,14 +1093,13 @@ static int _remove_mirror_images(struct logical_volume *lv,
* remove the LVs from the mirror set, commit that metadata
* then deactivate and remove them fully.
*/
if (!vg_write(mirrored_seg->lv->vg)) {
log_error("intermediate VG write failed.");
return 0;
}
if (!suspend_lv_origin(mirrored_seg->lv->vg->cmd, mirrored_seg->lv)) {
log_error("Failed to lock %s", mirrored_seg->lv->name);
log_error("Failed to lock %s.", display_lvname(mirrored_seg->lv));
vg_revert(mirrored_seg->lv->vg);
return 0;
}
@ -1115,7 +1112,7 @@ static int _remove_mirror_images(struct logical_volume *lv,
* FIXME: check propagation of suspend with visible flag
*/
if (temp_layer_lv && !suspend_lv(temp_layer_lv->vg->cmd, temp_layer_lv))
log_error("Problem suspending temporary LV %s", temp_layer_lv->name);
log_error("Problem suspending temporary LV %s.", display_lvname(temp_layer_lv));
if (!vg_commit(mirrored_seg->lv->vg)) {
if (!resume_lv(mirrored_seg->lv->vg->cmd, mirrored_seg->lv))
@ -1123,7 +1120,7 @@ static int _remove_mirror_images(struct logical_volume *lv,
return_0;
}
log_very_verbose("Updating \"%s\" in kernel", mirrored_seg->lv->name);
log_very_verbose("Updating %s in kernel.", display_lvname(mirrored_seg->lv));
/*
* Avoid having same mirror target loaded twice simultaneously by first
@ -1132,12 +1129,12 @@ static int _remove_mirror_images(struct logical_volume *lv,
* explicitly.
*/
if (temp_layer_lv && !resume_lv(temp_layer_lv->vg->cmd, temp_layer_lv)) {
log_error("Problem resuming temporary LV, %s", temp_layer_lv->name);
log_error("Problem resuming temporary LV %s.", display_lvname(temp_layer_lv));
return 0;
}
if (!resume_lv_origin(mirrored_seg->lv->vg->cmd, mirrored_seg->lv)) {
log_error("Problem reactivating %s", mirrored_seg->lv->name);
log_error("Problem reactivating %s.", display_lvname(mirrored_seg->lv));
return 0;
}
@ -1162,7 +1159,8 @@ static int _remove_mirror_images(struct logical_volume *lv,
1, &lv->tags, 0)) {
/* As a result, unnecessary sync may run after
* collapsing. But safe.*/
log_error("Failed to initialize log device");
log_error("Failed to initialize log device %s.",
display_lvname(first_seg(lv)->log_lv));
return 0;
}
}
@ -1170,8 +1168,9 @@ static int _remove_mirror_images(struct logical_volume *lv,
if (removed)
*removed = old_area_count - new_area_count;
log_very_verbose(FMTu32 " image(s) removed from %s",
old_area_count - new_area_count, lv->name);
log_very_verbose(FMTu32 " image(s) removed from %s.",
old_area_count - new_area_count,
display_lvname(lv));
return 1;
}
@ -1353,15 +1352,15 @@ static int _replace_mirror_images(struct lv_segment *mirrored_seg,
/* FIXME: Use lvconvert rather than duplicating its code */
if (mirrored_seg->area_count < num_mirrors) {
log_warn("WARNING: Failed to replace mirror device in %s/%s",
mirrored_seg->lv->vg->name, mirrored_seg->lv->name);
log_warn("WARNING: Failed to replace mirror device in %s.",
display_lvname(mirrored_seg->lv);
if ((mirrored_seg->area_count > 1) && !mirrored_seg->log_lv)
log_warn("WARNING: Use 'lvconvert -m %d %s/%s --corelog' to replace failed devices",
num_mirrors - 1, lv->vg->name, lv->name);
log_warn("WARNING: Use 'lvconvert -m %d %s --corelog' to replace failed devices.",
num_mirrors - 1, display_lvname(lv));
else
log_warn("WARNING: Use 'lvconvert -m %d %s/%s' to replace failed devices",
num_mirrors - 1, lv->vg->name, lv->name);
log_warn("WARNING: Use 'lvconvert -m %d %s' to replace failed devices.",
num_mirrors - 1, display_lvname(lv));
r = 0;
/* REMEMBER/FIXME: set in_sync to 0 if a new mirror device was added */
@ -1374,11 +1373,11 @@ static int _replace_mirror_images(struct lv_segment *mirrored_seg,
*/
if ((mirrored_seg->area_count > 1) && !mirrored_seg->log_lv &&
(log_policy != MIRROR_REMOVE)) {
log_warn("WARNING: Failed to replace mirror log device in %s/%s",
lv->vg->name, lv->name);
log_warn("WARNING: Failed to replace mirror log device in %s.",
display_lvname(lv));
log_warn("WARNING: Use 'lvconvert -m %d %s/%s' to replace failed devices",
mirrored_seg->area_count - 1 , lv->vg->name, lv->name);
log_warn("WARNING: Use 'lvconvert -m %d %s' to replace failed devices.",
mirrored_seg->area_count - 1 , display_lvname(lv));
r = 0;
}
@ -1411,8 +1410,8 @@ int reconfigure_mirror_images(struct lv_segment *mirrored_seg, uint32_t num_mirr
/* Unable to remove bad devices */
return 0;
log_warn("WARNING: Bad device removed from mirror volume, %s/%s",
mirrored_seg->lv->vg->name, mirrored_seg->lv->name);
log_warn("WARNING: Bad device removed from mirror volume %s.",
display_lvname(mirrored_seg->lv));
log_policy = _get_mirror_log_fault_policy(mirrored_seg->lv->vg->cmd);
dev_policy = _get_mirror_device_fault_policy(mirrored_seg->lv->vg->cmd);
@ -1424,20 +1423,20 @@ int reconfigure_mirror_images(struct lv_segment *mirrored_seg, uint32_t num_mirr
if (!r)
/* Failed to replace device(s) */
log_warn("WARNING: Unable to find substitute device for mirror volume, %s/%s",
mirrored_seg->lv->vg->name, mirrored_seg->lv->name);
log_warn("WARNING: Unable to find substitute device for mirror volume %s.",
display_lvname(mirrored_seg->lv));
else if (r > 0)
/* Success in replacing device(s) */
log_warn("WARNING: Mirror volume, %s/%s restored - substitute for failed device found.",
mirrored_seg->lv->vg->name, mirrored_seg->lv->name);
log_warn("WARNING: Mirror volume %s restored - substitute for failed device found.",
display_lvname(mirrored_seg->lv));
else
/* Bad device removed, but not replaced because of policy */
if (mirrored_seg->area_count == 1) {
log_warn("WARNING: Mirror volume, %s/%s converted to linear due to device failure.",
mirrored_seg->lv->vg->name, mirrored_seg->lv->name);
log_warn("WARNING: Mirror volume %s converted to linear due to device failure.",
display_lvname(mirrored_seg->lv);
} else if (had_log && !mirrored_seg->log_lv) {
log_warn("WARNING: Mirror volume, %s/%s disk log removed due to device failure.",
mirrored_seg->lv->vg->name, mirrored_seg->lv->name);
log_warn("WARNING: Mirror volume %s disk log removed due to device failure.",
display_lvname(mirrored_seg->lv));
}
/*
* If we made it here, we at least removed the bad device.
@ -1734,23 +1733,26 @@ static int _add_mirrors_that_preserve_segments(struct logical_volume *lv,
if (!(ah = allocate_extents(lv->vg, NULL, segtype, 1, mirrors, 0, 0,
lv->le_count, allocatable_pvs, alloc, 0,
parallel_areas))) {
log_error("Unable to allocate mirror extents for %s.", lv->name);
log_error("Unable to allocate mirror extents for %s.",
display_lvname(lv));
return 0;
}
if (flags & MIRROR_BY_SEG) {
if (!lv_add_mirror_areas(ah, lv, 0, adjusted_region_size)) {
log_error("Failed to add mirror areas to %s", lv->name);
log_error("Failed to add mirror areas to %s.",
display_lvname(lv));
r = 0;
}
} else if (flags & MIRROR_BY_SEGMENTED_LV) {
if (!lv_add_segmented_mirror_image(ah, lv, 0,
adjusted_region_size)) {
log_error("Failed to add mirror areas to %s", lv->name);
log_error("Failed to add mirror areas to %s.",
display_lvname(lv));
r = 0;
}
} else {
log_error(INTERNAL_ERROR "Unknown mirror flag");
log_error(INTERNAL_ERROR "Unknown mirror flag.");
r = 0;
}
alloc_destroy(ah);
@ -1784,7 +1786,7 @@ int remove_mirror_log(struct cmd_context *cmd,
/* Unimplemented features */
if (dm_list_size(&lv->segments) != 1) {
log_error("Multiple-segment mirror is not supported");
log_error("Multiple-segment mirror is not supported.");
return 0;
}
@ -1796,19 +1798,19 @@ int remove_mirror_log(struct cmd_context *cmd,
return 0;
}
} else if (lv_is_active(lv)) {
log_error("Unable to determine sync status of"
" remotely active mirror, %s", lv->name);
log_error("Unable to determine sync status of "
"remotely active mirror volume %s.", display_lvname(lv));
return 0;
} else if (vg_is_clustered(vg)) {
log_error("Unable to convert the log of an inactive "
"cluster mirror, %s", lv->name);
"cluster mirror volume %s.", display_lvname(lv));
return 0;
} else if (force || yes_no_prompt("Full resync required to convert "
"inactive mirror %s to core log. "
"Proceed? [y/n]: ", lv->name) == 'y')
} else if (force || yes_no_prompt("Full resync required to convert inactive "
"mirror volume %s to core log. "
"Proceed? [y/n]: ", display_lvname(lv)) == 'y')
sync_percent = 0;
else {
log_error("Logical volume %s NOT converted.", lv->name);
log_error("Logical volume %s NOT converted.", display_lvname(lv));
return 0;
}
@ -1976,25 +1978,25 @@ int add_mirror_log(struct cmd_context *cmd, struct logical_volume *lv,
int r = 0;
if (vg_is_clustered(lv->vg) && (log_count > 1)) {
log_error("Log type, \"mirrored\", is unavailable to cluster mirrors");
log_error("Log type, \"mirrored\", is unavailable to cluster mirrors.");
return 0;
}
if (dm_list_size(&lv->segments) != 1) {
log_error("Multiple-segment mirror is not supported");
log_error("Multiple-segment mirror is not supported.");
return 0;
}
if (lv_is_active_but_not_locally(lv)) {
log_error("Unable to convert the log of a mirror, %s, that is "
"active remotely but not locally", lv->name);
"active remotely but not locally.", display_lvname(lv));
return 0;
}
log_lv = first_seg(lv)->log_lv;
old_log_count = (log_lv) ? lv_mirror_count(log_lv) : 0;
if (old_log_count == log_count) {
log_verbose("Mirror already has a %s log",
log_verbose("Mirror %s already has a %s log.", display_lvname(lv),
!log_count ? "core" :
(log_count == 1) ? "disk" : "mirrored");
return 1;
@ -2138,7 +2140,7 @@ int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
struct dm_list *pvs, alloc_policy_t alloc, uint32_t flags)
{
if (!mirrors && !log_count) {
log_error("No conversion is requested");
log_error("No conversion is requested.");
return 0;
}
@ -2158,7 +2160,7 @@ int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
* log daemon is multi-threaded.
*/
if (log_count > 1) {
log_error("Log type, \"mirrored\", is unavailable to cluster mirrors");
log_error("Log type, \"mirrored\", is unavailable to cluster mirrors.");
return 0;
}
}
@ -2176,12 +2178,12 @@ int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
if (flags & MIRROR_BY_SEG) {
if (log_count) {
log_error("Persistent log is not supported on "
"segment-by-segment mirroring");
"segment-by-segment mirroring.");
return 0;
}
if (stripes > 1) {
log_error("Striped-mirroring is not supported on "
"segment-by-segment mirroring");
"segment-by-segment mirroring.");
return 0;
}
@ -2191,7 +2193,7 @@ int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
} else if (flags & MIRROR_BY_SEGMENTED_LV) {
if (stripes > 1) {
log_error("Striped-mirroring is not supported on "
"segment-by-segment mirroring");
"segment-by-segment mirroring.");
return 0;
}
@ -2207,7 +2209,8 @@ int lv_add_mirrors(struct cmd_context *cmd, struct logical_volume *lv,
pvs, alloc, log_count);
}
log_error("Unsupported mirror conversion type");
log_error("Unsupported mirror conversion type.");
return 0;
}
@ -2219,14 +2222,15 @@ int lv_split_mirror_images(struct logical_volume *lv, const char *split_name,
if (lv_name_is_used_in_vg(lv->vg, split_name, &historical)) {
log_error("%sLogical Volume \"%s\" already exists in "
"volume group \"%s\"", historical ? "historical " : "",
"volume group \"%s\".", historical ? "historical " : "",
split_name, lv->vg->name);
return 0;
}
/* Can't split a mirror that is not in-sync... unless force? */
if (!_mirrored_lv_in_sync(lv)) {
log_error("Unable to split mirror that is not in-sync.");
log_error("Unable to split mirror %s that is not in-sync.",
display_lvname(lv));
return 0;
}
@ -2263,18 +2267,18 @@ int lv_remove_mirrors(struct cmd_context *cmd __attribute__((unused)),
struct lv_segment *seg;
if (!mirrors && !log_count) {
log_error("No conversion is requested");
log_error("No conversion is requested.");
return 0;
}
seg = first_seg(lv);
if (!seg_is_mirrored(seg)) {
log_error("Not a mirror segment");
log_error("Not a mirror segment.");
return 0;
}
if (lv_mirror_count(lv) <= mirrors) {
log_error("Removing more than existing: %d <= %d",
log_error("Removing more than existing: %d <= %d.",
seg->area_count, mirrors);
return 0;
}
@ -2290,7 +2294,7 @@ int lv_remove_mirrors(struct cmd_context *cmd __attribute__((unused)),
/* MIRROR_BY_SEG */
if (log_count) {
log_error("Persistent log is not supported on "
"segment-by-segment mirroring");
"segment-by-segment mirroring.");
return 0;
}
return remove_mirrors_from_segments(lv, new_mirrors, status_mask);

View File

@ -283,8 +283,8 @@ static int _raid_in_sync(struct logical_volume *lv)
* https://bugzilla.redhat.com/1210637
*/
if (!lv_raid_percent(lv, &sync_percent)) {
log_error("Unable to determine sync status of %s/%s.",
lv->vg->name, lv->name);
log_error("Unable to determine sync status of %s.",
display_lvname(lv));
return 0;
}
if (sync_percent > DM_PERCENT_0)

View File

@ -1484,7 +1484,8 @@ static int _lvconvert_mirrors_aux(struct cmd_context *cmd,
*/
if (lv_is_origin(lv)) {
log_error("Can't add additional mirror images to "
"mirrors that are under snapshots,");
"mirror %s which is under snapshots.",
display_lvname(lv));
return 0;
}
@ -1767,13 +1768,12 @@ static int _lvconvert_mirrors(struct cmd_context *cmd,
uint32_t new_log_count;
if ((lp->corelog || lp->mirrorlog) && *lp->type_str && strcmp(lp->type_str, SEG_TYPE_NAME_MIRROR)) {
log_error("--corelog and --mirrorlog are only compatible with mirror devices");
log_error("--corelog and --mirrorlog are only compatible with mirror devices.");
return 0;
}
if (lp->merge_mirror) {
log_error("Unable to merge mirror images"
"of segment type 'mirror'.");
log_error("Unable to merge mirror images of segment type 'mirror'.");
return 0;
}