From 550cae2340236836fdf89777a810918411510cd4 Mon Sep 17 00:00:00 2001 From: Petr Rockai Date: Wed, 16 Dec 2009 19:22:11 +0000 Subject: [PATCH] #define an INTERNAL_ERROR macro and use it throughout LVM. --- lib/activate/dev_manager.c | 4 ++-- lib/cache/lvmcache.c | 12 ++++++------ lib/format_text/export.c | 2 +- lib/format_text/text_label.c | 2 +- lib/locking/locking.c | 6 +++--- lib/log/log.c | 4 ++-- lib/log/log.h | 1 + lib/metadata/metadata.c | 27 ++++++++++++++------------- lib/mm/memlock.c | 4 ++-- lib/striped/striped.c | 2 +- tools/lvm.c | 2 +- tools/lvmcmdline.c | 4 ++-- 12 files changed, 36 insertions(+), 34 deletions(-) diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c index 307177204..bac0c7b52 100644 --- a/lib/activate/dev_manager.c +++ b/lib/activate/dev_manager.c @@ -852,7 +852,7 @@ int add_areas_line(struct dev_manager *dm, struct lv_segment *seg, dm_tree_node_add_target_area(node, NULL, dlid, extent_size * seg_le(seg, s)); } else { - log_error("Internal error: Unassigned area found in LV %s.", + log_error(INTERNAL_ERROR "Unassigned area found in LV %s.", seg->lv->name); return 0; } @@ -911,7 +911,7 @@ static int _add_target_to_dtree(struct dev_manager *dm, uint64_t extent_size = seg->lv->vg->extent_size; if (!seg->segtype->ops->add_target_line) { - log_error("_emit_target: Internal error: Can't handle " + log_error(INTERNAL_ERROR "_emit_target cannot handle " "segment type %s", seg->segtype->name); return 0; } diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c index 672b4b1ca..358cd807d 100644 --- a/lib/cache/lvmcache.c +++ b/lib/cache/lvmcache.c @@ -227,7 +227,7 @@ int lvmcache_verify_lock_order(const char *vgname) vgname2 = dm_hash_get_key(_lock_hash, n); if (!_vgname_order_correct(vgname2, vgname)) { - log_errno(EDEADLK, "Internal error: VG lock %s must " + log_errno(EDEADLK, INTERNAL_ERROR "VG lock %s must " "be requested before %s, not after.", vgname, vgname2); return_0; @@ -245,7 +245,7 @@ void lvmcache_lock_vgname(const char *vgname, int read_only __attribute((unused) } if (dm_hash_lookup(_lock_hash, vgname)) - log_error("Internal error: Nested locking attempted on VG %s.", + log_error(INTERNAL_ERROR "Nested locking attempted on VG %s.", vgname); if (!dm_hash_insert(_lock_hash, vgname, (void *) 1)) @@ -268,7 +268,7 @@ int vgname_is_locked(const char *vgname) void lvmcache_unlock_vgname(const char *vgname) { if (!dm_hash_lookup(_lock_hash, vgname)) - log_error("Internal error: Attempt to unlock unlocked VG %s.", + log_error(INTERNAL_ERROR "Attempt to unlock unlocked VG %s.", vgname); _update_cache_lock_state(vgname, 0); @@ -1102,7 +1102,7 @@ int lvmcache_update_vgname_and_id(struct lvmcache_info *info, uint32_t vgstatus, const char *creation_host) { if (!vgname && !info->vginfo) { - log_error("Internal error: NULL vgname handed to cache"); + log_error(INTERNAL_ERROR "NULL vgname handed to cache"); /* FIXME Remove this */ vgname = info->fmt->orphan_vg_name; vgid = vgname; @@ -1296,7 +1296,7 @@ static void _lvmcache_destroy_lockname(struct dm_hash_node *n) if (!strcmp(vgname, VG_GLOBAL)) _vg_global_lock_held = 1; else - log_error("Internal error: Volume Group %s was not unlocked", + log_error(INTERNAL_ERROR "Volume Group %s was not unlocked", dm_hash_get_key(_lock_hash, n)); } @@ -1333,7 +1333,7 @@ void lvmcache_destroy(struct cmd_context *cmd, int retain_orphans) } if (!dm_list_empty(&_vginfos)) - log_error("Internal error: _vginfos list should be empty"); + log_error(INTERNAL_ERROR "_vginfos list should be empty"); dm_list_init(&_vginfos); if (retain_orphans) diff --git a/lib/format_text/export.c b/lib/format_text/export.c index 15439fdc5..72d61585b 100644 --- a/lib/format_text/export.c +++ b/lib/format_text/export.c @@ -99,7 +99,7 @@ static void _inc_indent(struct formatter *f) static void _dec_indent(struct formatter *f) { if (!f->indent--) { - log_error("Internal error tracking indentation"); + log_error(INTERNAL_ERROR "problem tracking indentation"); f->indent = 0; } } diff --git a/lib/format_text/text_label.c b/lib/format_text/text_label.c index c6dadf33d..7f02fc609 100644 --- a/lib/format_text/text_label.c +++ b/lib/format_text/text_label.c @@ -137,7 +137,7 @@ static int _text_write(struct label *label, void *buf) mda2 ? "s)" : ""); if (da1 < 0) { - log_error("Internal error: %s label header currently requires " + log_error(INTERNAL_ERROR "%s label header currently requires " "a data area.", dev_name(info->dev)); return 0; } diff --git a/lib/locking/locking.c b/lib/locking/locking.c index ad1c2db17..e7d8fc8d8 100644 --- a/lib/locking/locking.c +++ b/lib/locking/locking.c @@ -349,12 +349,12 @@ static int _lock_vol(struct cmd_context *cmd, const char *resource, assert(resource); if (!*resource) { - log_error("Internal error: Use of P_orphans is deprecated."); + log_error(INTERNAL_ERROR "Use of P_orphans is deprecated."); return 0; } if (*resource == '#' && (flags & LCK_CACHE)) { - log_error("Internal error: P_%s referenced", resource); + log_error(INTERNAL_ERROR "P_%s referenced", resource); return 0; } @@ -394,7 +394,7 @@ int lock_vol(struct cmd_context *cmd, const char *vol, uint32_t flags) if (flags == LCK_NONE) { - log_debug("Internal error: %s: LCK_NONE lock requested", vol); + log_debug(INTERNAL_ERROR "%s: LCK_NONE lock requested", vol); return 1; } diff --git a/lib/log/log.c b/lib/log/log.c index 59852f541..c901da04b 100644 --- a/lib/log/log.c +++ b/lib/log/log.c @@ -184,8 +184,8 @@ void print_log(int level, const char *file, int line, int dm_errno, level &= ~_LOG_STDERR; if (_abort_on_internal_errors && - !strncmp(format, "Internal error:", - strlen("Internal error:"))) + !strncmp(format, INTERNAL_ERROR, + strlen(INTERNAL_ERROR))) internal_error = 1; if (_log_suppress == 2) diff --git a/lib/log/log.h b/lib/log/log.h index 9509e957e..079a01069 100644 --- a/lib/log/log.h +++ b/lib/log/log.h @@ -53,6 +53,7 @@ #define _LOG_WARN 4 #define _LOG_ERR 3 #define _LOG_FATAL 2 +#define INTERNAL_ERROR "Internal error: " #define log_debug(x...) LOG_LINE(_LOG_DEBUG, x) #define log_info(x...) LOG_LINE(_LOG_INFO, x) diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index c657cd7c8..80e876135 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -2107,7 +2107,7 @@ int vg_validate(struct volume_group *vg) if (!id_write_format(&pvl->pv->id, uuid, sizeof(uuid))) stack; - log_error("Internal error: Duplicate PV id " + log_error(INTERNAL_ERROR "Duplicate PV id " "%s detected for %s in %s.", uuid, pv_dev_name(pvl->pv), vg->name); @@ -2116,14 +2116,14 @@ int vg_validate(struct volume_group *vg) } if (strcmp(pvl->pv->vg_name, vg->name)) { - log_error("Internal error: VG name for PV %s is corrupted", + log_error(INTERNAL_ERROR "VG name for PV %s is corrupted", pv_dev_name(pvl->pv)); r = 0; } } if (!check_pv_segments(vg)) { - log_error("Internal error: PV segments corrupted in %s.", + log_error(INTERNAL_ERROR "PV segments corrupted in %s.", vg->name); r = 0; } @@ -2159,7 +2159,7 @@ int vg_validate(struct volume_group *vg) */ if (((uint32_t) dm_list_size(&vg->lvs)) != vg_visible_lvs(vg) + snapshot_count(vg) + hidden_lv_count) { - log_error("Internal error: #internal LVs (%u) != #LVs (%" + log_error(INTERNAL_ERROR "#internal LVs (%u) != #LVs (%" PRIu32 ") + #snapshots (%" PRIu32 ") + #internal LVs %u in VG %s", dm_list_size(&vg->lvs), vg_visible_lvs(vg), snapshot_count(vg), hidden_lv_count, vg->name); @@ -2171,7 +2171,7 @@ int vg_validate(struct volume_group *vg) if (lvl == lvl2) break; if (!strcmp(lvl->lv->name, lvl2->lv->name)) { - log_error("Internal error: Duplicate LV name " + log_error(INTERNAL_ERROR "Duplicate LV name " "%s detected in %s.", lvl->lv->name, vg->name); r = 0; @@ -2181,7 +2181,7 @@ int vg_validate(struct volume_group *vg) if (!id_write_format(&lvl->lv->lvid.id[1], uuid, sizeof(uuid))) stack; - log_error("Internal error: Duplicate LV id " + log_error(INTERNAL_ERROR "Duplicate LV id " "%s detected for %s and %s in %s.", uuid, lvl->lv->name, lvl2->lv->name, vg->name); @@ -2192,7 +2192,7 @@ int vg_validate(struct volume_group *vg) dm_list_iterate_items(lvl, &vg->lvs) { if (!check_lv_segments(lvl->lv, 1)) { - log_error("Internal error: LV segments corrupted in %s.", + log_error(INTERNAL_ERROR "LV segments corrupted in %s.", lvl->lv->name); r = 0; } @@ -2200,7 +2200,7 @@ int vg_validate(struct volume_group *vg) if (!(vg->fid->fmt->features & FMT_UNLIMITED_VOLS) && (!vg->max_lv || !vg->max_pv)) { - log_error("Internal error: Volume group %s has limited PV/LV count" + log_error(INTERNAL_ERROR "Volume group %s has limited PV/LV count" " but limit is not set.", vg->name); r = 0; } @@ -2311,7 +2311,7 @@ int vg_commit(struct volume_group *vg) int failed = 0; if (!vgname_is_locked(vg->name)) { - log_error("Internal error: Attempt to write new VG metadata " + log_error(INTERNAL_ERROR "Attempt to write new VG metadata " "without locking %s", vg->name); return cache_updated; } @@ -2491,7 +2491,7 @@ static struct volume_group *_vg_read(struct cmd_context *cmd, if (is_orphan_vg(vgname)) { if (use_precommitted) { - log_error("Internal error: vg_read_internal requires vgname " + log_error(INTERNAL_ERROR "vg_read_internal requires vgname " "with pre-commit."); return NULL; } @@ -2802,7 +2802,7 @@ struct volume_group *vg_read_internal(struct cmd_context *cmd, const char *vgnam return NULL; if (!check_pv_segments(vg)) { - log_error("Internal error: PV segments corrupted in %s.", + log_error(INTERNAL_ERROR "PV segments corrupted in %s.", vg->name); vg_release(vg); return NULL; @@ -2810,7 +2810,7 @@ struct volume_group *vg_read_internal(struct cmd_context *cmd, const char *vgnam dm_list_iterate_items(lvl, &vg->lvs) { if (!check_lv_segments(lvl->lv, 1)) { - log_error("Internal error: LV segments corrupted in %s.", + log_error(INTERNAL_ERROR "LV segments corrupted in %s.", lvl->lv->name); vg_release(vg); return NULL; @@ -2826,7 +2826,7 @@ void vg_release(struct volume_group *vg) return; if (vg->cmd && vg->vgmem == vg->cmd->mem) - log_error("Internal error: global memory pool used for VG %s", + log_error(INTERNAL_ERROR "global memory pool used for VG %s", vg->name); dm_pool_destroy(vg->vgmem); @@ -3520,6 +3520,7 @@ uint32_t vg_lock_newname(struct cmd_context *cmd, const char *vgname) /* Found vgname so cannot reserve. */ unlock_vg(cmd, vgname); + log_error("A volume group called '%s' already exists.", vg_name); return FAILED_EXIST; } diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c index 717b091fd..3ceb5f4db 100644 --- a/lib/mm/memlock.c +++ b/lib/mm/memlock.c @@ -144,7 +144,7 @@ void memlock_inc(void) void memlock_dec(void) { if (!_memlock_count) - log_error("Internal error: _memlock_count has dropped below 0."); + log_error(INTERNAL_ERROR "_memlock_count has dropped below 0."); --_memlock_count; _unlock_mem_if_possible(); log_debug("memlock_count dec to %d", _memlock_count); @@ -167,7 +167,7 @@ void memlock_inc_daemon(void) void memlock_dec_daemon(void) { if (!_memlock_count_daemon) - log_error("Internal error: _memlock_count_daemon has dropped below 0."); + log_error(INTERNAL_ERROR "_memlock_count_daemon has dropped below 0."); --_memlock_count_daemon; _unlock_mem_if_possible(); log_debug("memlock_count_daemon dec to %d", _memlock_count_daemon); diff --git a/lib/striped/striped.c b/lib/striped/striped.c index f187da542..3e0c96a8c 100644 --- a/lib/striped/striped.c +++ b/lib/striped/striped.c @@ -168,7 +168,7 @@ static int _striped_add_target_line(struct dev_manager *dm, uint32_t *pvmove_mirror_count __attribute((unused))) { if (!seg->area_count) { - log_error("Internal error: striped add_target_line called " + log_error(INTERNAL_ERROR "striped add_target_line called " "with no areas for %s.", seg->lv->name); return 0; } diff --git a/tools/lvm.c b/tools/lvm.c index e1f7900ca..d1c2f9b52 100644 --- a/tools/lvm.c +++ b/tools/lvm.c @@ -237,7 +237,7 @@ int lvm_shell(struct cmd_context *cmd, struct cmdline_context *cmdline) argv[0]); if ((ret != ECMD_PROCESSED) && !error_message_produced()) { - log_debug("Internal error: Failed command did not use log_error"); + log_debug(INTERNAL_ERROR "Failed command did not use log_error"); log_error("Command failed with status code %d.", ret); } _write_history(); diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c index e92675f0d..d4e7ea48a 100644 --- a/tools/lvmcmdline.c +++ b/tools/lvmcmdline.c @@ -1243,7 +1243,7 @@ static int _run_script(struct cmd_context *cmd, int argc, char **argv) ret = lvm_run_command(cmd, argc, argv); if (ret != ECMD_PROCESSED) { if (!error_message_produced()) { - log_debug("Internal error: Failed command did not use log_error"); + log_debug(INTERNAL_ERROR "Failed command did not use log_error"); log_error("Command failed with status code %d.", ret); } break; @@ -1368,7 +1368,7 @@ int lvm2_main(int argc, char **argv) log_error("No such command. Try 'help'."); if ((ret != ECMD_PROCESSED) && !error_message_produced()) { - log_debug("Internal error: Failed command did not use log_error"); + log_debug(INTERNAL_ERROR "Failed command did not use log_error"); log_error("Command failed with status code %d.", ret); } -- 2.43.5