From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27811 invoked by alias); 13 May 2009 21:25:47 -0000 Received: (qmail 27793 invoked by uid 9664); 13 May 2009 21:25:46 -0000 Date: Wed, 13 May 2009 21:25:00 -0000 Message-ID: <20090513212546.27791.qmail@sourceware.org> From: mbroz@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/metadata/snapshot_manip.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: 2009-05/txt/msg00024.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: mbroz@sourceware.org 2009-05-13 21:25:46 Modified files: . : WHATS_NEW lib/metadata : snapshot_manip.c Log message: Fix lv_is_visible to handle virtual origin. Snapshot is visible if its origin is marked visible, or if the origin is virtual. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1106&r2=1.1107 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/snapshot_manip.c.diff?cvsroot=lvm2&r1=1.38&r2=1.39 --- LVM2/WHATS_NEW 2009/05/13 21:25:01 1.1106 +++ LVM2/WHATS_NEW 2009/05/13 21:25:45 1.1107 @@ -1,5 +1,6 @@ Version 2.02.46 - ================================ + Fix lv_is_visible to handle virtual origin. Introduce link_lv_to_vg and unlink_lv_from_vg functions. Remove lv_count from VG and use counter function instead. Fix snapshot segment import to not use duplicate segments & replace. --- LVM2/lib/metadata/snapshot_manip.c 2009/05/13 21:22:57 1.38 +++ LVM2/lib/metadata/snapshot_manip.c 2009/05/13 21:25:46 1.39 @@ -30,8 +30,15 @@ int lv_is_visible(const struct logical_volume *lv) { - if (lv_is_cow(lv)) - return lv_is_visible(find_cow(lv)->lv); + if (lv->status & SNAPSHOT) + return 0; + + if (lv_is_cow(lv)) { + if (lv_is_virtual_origin(origin_from_cow(lv))) + return 1; + + return lv_is_visible(origin_from_cow(lv)); + } return lv->status & VISIBLE_LV ? 1 : 0; }