[lvm-devel] LVM2 ./WHATS_NEW lib/mirror/mirrored.c
zkabelac at sourceware.org
zkabelac at sourceware.org
Wed Dec 1 13:01:38 UTC 2010
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: zkabelac at sourceware.org 2010-12-01 13:01:36
Modified files:
. : WHATS_NEW
lib/mirror : mirrored.c
Log message:
Check lv_info() success
Add log_error message for lv_info failure and exit from futher
processing.
Replace 'leg' occurence in debug message with 'image' which
is used in other messages.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1824&r2=1.1825
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/mirror/mirrored.c.diff?cvsroot=lvm2&r1=1.79&r2=1.80
--- LVM2/WHATS_NEW 2010/12/01 12:56:39 1.1824
+++ LVM2/WHATS_NEW 2010/12/01 13:01:36 1.1825
@@ -1,5 +1,6 @@
Version 2.02.78 -
====================================
+ Check lv_info() success in _mirrored_transient_status().
Add backtraces for dev_set() and dev_close_immediate() errors in set_lv().
Add logging for unlink() error in clvmd remove_lockfile().
Add logging for pipe write() and close() error in clvmd child_init_signal().
--- LVM2/lib/mirror/mirrored.c 2010/11/30 11:53:32 1.79
+++ LVM2/lib/mirror/mirrored.c 2010/12/01 13:01:36 1.80
@@ -291,7 +291,11 @@
if (!strcmp(log_args[0], "disk")) {
char buf[32];
log = first_seg(lv)->log_lv;
- lv_info(lv->vg->cmd, log, 0, &info, 0, 0);
+ if (!lv_info(lv->vg->cmd, log, 0, &info, 0, 0)) {
+ log_error("Check for existence of mirror log %s failed.",
+ log->name);
+ return 0;
+ }
log_debug("Found mirror log at %d:%d", info.major, info.minor);
sprintf(buf, "%d:%d", info.major, info.minor);
if (strcmp(buf, log_args[1])) {
@@ -311,8 +315,12 @@
for (i = 0; i < seg->area_count; ++i) {
char buf[32];
- lv_info(lv->vg->cmd, seg_lv(seg, i), 0, &info, 0, 0);
- log_debug("Found mirror leg at %d:%d", info.major, info.minor);
+ if (!lv_info(lv->vg->cmd, seg_lv(seg, i), 0, &info, 0, 0)) {
+ log_error("Check for existence of mirror image %s failed.",
+ seg_lv(seg, i)->name);
+ return 0;
+ }
+ log_debug("Found mirror image at %d:%d", info.major, info.minor);
sprintf(buf, "%d:%d", info.major, info.minor);
for (j = 0; j < num_devs; ++j) {
if (!strcmp(buf, args[j])) {
More information about the lvm-devel
mailing list