Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jun 2011 09:03:56 +0400
From:      "Andrey V. Elsukov" <bu7cher@yandex.ru>
To:        Xin LI <delphij@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r223356 - head/sbin/geom/class/part
Message-ID:  <4E00263C.4040802@yandex.ru>
In-Reply-To: <201106210446.p5L4k0IZ080002@svn.freebsd.org>
References:  <201106210446.p5L4k0IZ080002@svn.freebsd.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On 21.06.2011 8:46, Xin LI wrote:
> Author: delphij
> Date: Tue Jun 21 04:46:00 2011
> New Revision: 223356
> URL: http://svn.freebsd.org/changeset/base/223356
> 
> Log:
>   Mod the offset padding by alignment.  Without this change we may
>   pad too much when underlying GEOM object have a zero stripesize.

No. In any way offset value could not be greater than mediasize.
And it do nothing when alignment value is 1.

>   MFC after:	1 month

I did not MFC'd these changes yet.

> Modified:
>   head/sbin/geom/class/part/geom_part.c
> 
> Modified: head/sbin/geom/class/part/geom_part.c
> ==============================================================================
> --- head/sbin/geom/class/part/geom_part.c	Tue Jun 21 04:06:39 2011	(r223355)
> +++ head/sbin/geom/class/part/geom_part.c	Tue Jun 21 04:46:00 2011	(r223356)
> @@ -362,7 +362,7 @@ gpart_autofill_resize(struct gctl_req *r
>  			goto done;
>  	}
>  
> -	offset = pp->lg_stripeoffset / pp->lg_sectorsize;
> +	offset = (pp->lg_stripeoffset / pp->lg_sectorsize) % alignment;
>  	last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 0);
>  	LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
>  		s = find_provcfg(pp, "index");
> @@ -497,7 +497,7 @@ gpart_autofill(struct gctl_req *req)
>  		alignment = len;
>  
>  	/* Adjust parameters to stripeoffset */
> -	offset = pp->lg_stripeoffset / pp->lg_sectorsize;
> +	offset = (pp->lg_stripeoffset / pp->lg_sectorsize) % alignment;
>  	start = ALIGNUP(start + offset, alignment);
>  	if (size > alignment)
>  		size = ALIGNDOWN(size, alignment);
> 
> 


-- 
WBR, Andrey V. Elsukov


[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)

iQEcBAEBAgAGBQJOACZCAAoJEAHF6gQQyKF6594IAI1jKu3de1KWJHx6gKrqpbUi
ErKG+TdXURy+tonSC+tMkwnP7EYLWzM4xax+/wHQFh9vK6BwcTWWsYZcuEpt6Pee
KmanfrEjNtpcq14ypOP6RytElEa1lDyQy96Vam+q1jLLVhTRYkuI3xpY6uk/1I4J
lDty1lyomM2PqRpEOsMn0wtdKO71qllmyk2TWySF/uafihV18nHs+w3aSLreGN1w
SZC0xTFFEtbvIOt4WwVusb8ZjAbSBDiUk57QJoQLGIEmBP3sBIPVcFhiRnrIdP0V
Agi5hqbdQQTE3BJDi57GebaEGCGYqnGMdqOsjNdJ5y2yPUXGwI4JEd4InOvYq1g=
=Lf+i
-----END PGP SIGNATURE-----
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E00263C.4040802>