From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13755 invoked by alias); 1 Dec 2010 13:01:39 -0000 Received: (qmail 13727 invoked by uid 9737); 1 Dec 2010 13:01:38 -0000 Date: Wed, 01 Dec 2010 13:01:00 -0000 Message-ID: <20101201130138.13725.qmail@sourceware.org> From: zkabelac@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/mirror/mirrored.c Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2010-12/txt/msg00007.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: zkabelac@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])) {