From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15966 invoked by alias); 13 Jul 2010 22:24:40 -0000 Received: (qmail 15951 invoked by uid 9478); 13 Jul 2010 22:24:40 -0000 Date: Tue, 13 Jul 2010 22:24:00 -0000 Message-ID: <20100713222440.15949.qmail@sourceware.org> From: jbrassow@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW lib/metadata/mirror.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-07/txt/msg00056.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: jbrassow@sourceware.org 2010-07-13 22:24:40 Modified files: . : WHATS_NEW lib/metadata : mirror.c Log message: Fix for bug 614164: No check for existing name when splitting mirror The user could use the same name as an existing LV when specifying a name for an LV split off from a mirror. This causes all sorts of issues. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1667&r2=1.1668 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/mirror.c.diff?cvsroot=lvm2&r1=1.126&r2=1.127 --- LVM2/WHATS_NEW 2010/07/13 21:48:16 1.1667 +++ LVM2/WHATS_NEW 2010/07/13 22:24:39 1.1668 @@ -1,5 +1,6 @@ Version 2.02.71 - =============================== + Check if LV with specified name already exists when splitting a mirror. Fix suspend/resume logic for LVs resulting from splitting a mirror. Switch cmirrord and clvmd to use dm_create_lockfile. Allow clvmd pidfile to be configurable. --- LVM2/lib/metadata/mirror.c 2010/07/13 21:48:17 1.126 +++ LVM2/lib/metadata/mirror.c 2010/07/13 22:24:39 1.127 @@ -1982,6 +1982,12 @@ { int r; + if (find_lv_in_vg(lv->vg, split_name)) { + log_error("Logical Volume \"%s\" already exists in " + "volume group \"%s\"", split_name, lv->vg->name); + return 0; + } + /* Can't split a mirror that is not in-sync... unless force? */ if (!_mirrored_lv_in_sync(lv)) { log_error("Unable to split mirror that is not in-sync.");