From owner-freebsd-geom@FreeBSD.ORG Mon Jun 20 19:59:03 2011 Return-Path: Delivered-To: freebsd-geom@FreeBSD.ORG Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:4f8:fff6::35]) by hub.freebsd.org (Postfix) with ESMTP id 075DA1065673 for ; Mon, 20 Jun 2011 19:59:03 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from [127.0.0.1] (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id 5578F14DB17; Mon, 20 Jun 2011 19:59:02 +0000 (UTC) Message-ID: <4DFFA67D.2010305@FreeBSD.org> Date: Mon, 20 Jun 2011 23:58:53 +0400 From: "Andrey V. Elsukov" User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.17) Gecko/20110429 Thunderbird/3.1.10 MIME-Version: 1.0 To: Kris Moore References: <4DFF8611.4090705@pcbsd.org> <4DFF8DC6.1010701@FreeBSD.org> <4DFF97DF.5040408@pcbsd.org> In-Reply-To: <4DFF97DF.5040408@pcbsd.org> X-Enigmail-Version: 1.1.2 OpenPGP: id=10C8A17A Content-Type: multipart/mixed; boundary="------------040408000900090507080007" Cc: freebsd-geom@FreeBSD.ORG Subject: Re: gpart sizes way off X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jun 2011 19:59:03 -0000 This is a multi-part message in MIME format. --------------040408000900090507080007 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit On 20.06.2011 22:56, Kris Moore wrote: > Here you go! > # gpart list Hi, thank you for the report. It's my fail. Can you test attached patch? -- WBR, Andrey V. Elsukov --------------040408000900090507080007 Content-Type: text/plain; name="gpart.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="gpart.diff" Index: head/sbin/geom/class/part/geom_part.c =================================================================== --- head/sbin/geom/class/part/geom_part.c (revision 223335) +++ head/sbin/geom/class/part/geom_part.c (working copy) @@ -500,7 +500,7 @@ gpart_autofill(struct gctl_req *req) offset = pp->lg_stripeoffset / pp->lg_sectorsize; start = ALIGNUP(start + offset, alignment); if (size + offset > alignment) - size = ALIGNDOWN(size + offset, alignment); + size = ALIGNDOWN(size + offset, alignment) - offset; first = (off_t)strtoimax(find_geomcfg(gp, "first"), NULL, 0); last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 0); --------------040408000900090507080007--