From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [OSSTest Nested v12 20/21] Don't lvextend if actually no more space to extend Date: Tue, 22 Sep 2015 16:56:14 +0100 Message-ID: <1442937374.10338.186.camel@citrix.com> References: <1440774490-16725-1-git-send-email-robert.hu@intel.com> <1440774490-16725-21-git-send-email-robert.hu@intel.com> <22009.31835.658085.403421@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <22009.31835.658085.403421@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson , Robert Ho Cc: gordon.jin@intel.com, wei.liu2@citrix.com, di.zheng@intel.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Wed, 2015-09-16 at 15:27 +0100, Ian Jackson wrote: > Robert Ho writes ("[OSSTest Nested v12 20/21] Don't lvextend if actually > no more space to extend"): > > Though passes if judgement, the > > overall_limit_pe(\$vg_more_free_pe); > > may final judge no more free_pe to extend. > > So, check if $vg_more_free_pe is 0, if so, we don't lvextend, > > otherwise lvextend will report error on nonsense operation. > > I think this should be done by moving the start of the if block to > after overall_limit_pe. That would avoid a tested if (and various > other slight anomalies). IOW move the overall_limit_pe outside the if? Like so: diff --git a/ts-xen-build-prep b/ts-xen-build-prep index 03ad35c..b35e91b 100755 --- a/ts-xen-build-prep +++ b/ts-xen-build-prep @@ -151,9 +151,9 @@ sub lvextend1 ($$$) { $do_limit_pe->(\$vg_more_free_pe, 'unstriped'); + overall_limit_pe(\$vg_more_free_pe); if ($vg_more_free_pe) { logm("$what: unstriped $vg_more_free_pe PEs"); - overall_limit_pe(\$vg_more_free_pe); $more_pe += $vg_more_free_pe; target_cmd_root($ho, "lvextend -i1 -l +$vg_more_free_pe $lv"); } (untested, but I've just tripped over this in a standalone run myself). Ian.