From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1046 invoked by alias); 7 Oct 2006 11:34:54 -0000 Received: (qmail 1033 invoked by uid 9447); 7 Oct 2006 11:34:54 -0000 Date: Sat, 07 Oct 2006 11:34:00 -0000 Message-ID: <20061007113454.1031.qmail@sourceware.org> From: agk@sourceware.org To: lvm2-cvs@sourceware.org Subject: LVM2/lib/metadata lv_manip.c Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2006-10/txt/msg00019.txt.bz2 List-Id: CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: agk@sourceware.org 2006-10-07 11:34:54 Modified files: lib/metadata : lv_manip.c Log message: abstract _is_contiguous() Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/lv_manip.c.diff?cvsroot=lvm2&r1=1.105&r2=1.106 --- LVM2/lib/metadata/lv_manip.c 2006/10/07 11:23:22 1.105 +++ LVM2/lib/metadata/lv_manip.c 2006/10/07 11:34:53 1.106 @@ -733,6 +733,20 @@ } /* + * Is PV area contiguous to PV segment? + */ +static int _is_contiguous(struct pv_segment *pvseg, struct pv_area *pva) +{ + if (pvseg->pv != pva->map->pv) + return 0; + + if (pvseg->pe + pvseg->len != pva->start) + return 0; + + return 1; +} + +/* * Is pva contiguous to any existing areas or on the same PV? */ static int _check_contiguous(struct lv_segment *prev_lvseg, struct pv_area *pva, @@ -755,10 +769,7 @@ if (!(prev_pvseg = seg_pvseg(prev_lvseg, s))) continue; /* FIXME Broken */ - if ((prev_pvseg->pv != pva->map->pv)) - continue; - - if (prev_pvseg->pe + prev_pvseg->len == pva->start) { + if (_is_contiguous(prev_pvseg, pva)) { areas[s] = pva; return 1; }