From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6874 invoked by alias); 11 Aug 2011 04:18:19 -0000 Received: (qmail 6856 invoked by uid 9478); 11 Aug 2011 04:18:18 -0000 Date: Thu, 11 Aug 2011 04:18:00 -0000 Message-ID: <20110811041818.6854.qmail@sourceware.org> From: jbrassow@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/activate/dev_manager.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: 2011-08/txt/msg00024.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: jbrassow@sourceware.org 2011-08-11 04:18:17 Modified files: . : WHATS_NEW lib/activate : dev_manager.c Log message: Add RAID metadata devices to considered devices in _add_lv_to_dtree. _add_lv_to_dtree must also add RAID metadata devices. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2059&r2=1.2060 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/dev_manager.c.diff?cvsroot=lvm2&r1=1.227&r2=1.228 --- LVM2/WHATS_NEW 2011/08/11 03:29:51 1.2059 +++ LVM2/WHATS_NEW 2011/08/11 04:18:17 1.2060 @@ -1,5 +1,6 @@ Version 2.02.87 - =============================== + Add RAID metadata devices to considered devices in _add_lv_to_dtree. Fix renaming of RAID logical volumes. Replace free_vg with release_vg and move it to vg.c. Remove INCONSISTENT_VG flag from the code. --- LVM2/lib/activate/dev_manager.c 2011/08/02 22:07:21 1.227 +++ LVM2/lib/activate/dev_manager.c 2011/08/11 04:18:17 1.228 @@ -1060,9 +1060,12 @@ /* * Add LV and any known dependencies */ -static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree, struct logical_volume *lv, int origin_only) +static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree, + struct logical_volume *lv, int origin_only) { + uint32_t s; struct seg_list *sl; + struct lv_segment *seg = first_seg(lv); if (!origin_only && !_add_dev_to_dtree(dm, dtree, lv, NULL)) return_0; @@ -1074,10 +1077,16 @@ if (!origin_only && !_add_dev_to_dtree(dm, dtree, lv, "cow")) return_0; - if ((lv->status & MIRRORED) && first_seg(lv)->log_lv && - !_add_dev_to_dtree(dm, dtree, first_seg(lv)->log_lv, NULL)) + if ((lv->status & MIRRORED) && seg->log_lv && + !_add_dev_to_dtree(dm, dtree, seg->log_lv, NULL)) return_0; + if (lv->status & RAID) + for (s = 0; s < seg->area_count; s++) + if (!_add_lv_to_dtree(dm, dtree, + seg_metalv(seg, s), origin_only)) + return_0; + /* Add any LVs referencing a PVMOVE LV unless told not to. */ if (dm->track_pvmove_deps && lv->status & PVMOVE) dm_list_iterate_items(sl, &lv->segs_using_this_lv)