Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jun 2011 23:04:42 -0700
From:      Xin LI <delphij@delphij.net>
To:        "Andrey V. Elsukov" <bu7cher@yandex.ru>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Xin LI <delphij@FreeBSD.org>
Subject:   Re: svn commit: r223356 - head/sbin/geom/class/part
Message-ID:  <4E00347A.80407@delphij.net>
In-Reply-To: <4E00263C.4040802@yandex.ru>
References:  <201106210446.p5L4k0IZ080002@svn.freebsd.org> <4E00263C.4040802@yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 06/20/11 22:03, Andrey V. Elsukov wrote:
> 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.

I don't think this changeset do anything with mediasize?

> And it do nothing when alignment value is 1.

No, an alignment value of 1 makes offset = 0, which is the intended
behavior.

Or did I misunderstood the code?

Thanks in advance!

>>   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);
>>
>>
> 
> 


- -- 
Xin LI <delphij@delphij.net>	https://www.delphij.net/
FreeBSD - The Power to Serve!		Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (FreeBSD)

iQEcBAEBCAAGBQJOADR6AAoJEATO+BI/yjfBG5gH/2AFDv/cyvUXM16C5GBKjj8m
XOqqRziAPz8VsICXjFLBdx0wxguYAB7Dr4U8krUgH0rOMIUXuew6lNmjQxfW2TQd
66o8XMTe9WdV28SZcJDJWpU5vAD2lQcGs88AjJt4fbtndHte3XN1kjBdZ6DpmMLw
gdbn1iU836DFTE4kMdOhNb+h4RRbGNNx8QJ0jJO0RNrIUMy+w/dbgGUTqjYm6hTj
vbZlA41QxSEx/cTDH7puje3/E9j9cIaOo3sCNpk1YrnVF7Syzn7arBruCmpDEVsN
NIGVbD+WMvS4VxLK1Vwb6C1G6nYmf74fHDmkcwV4sg5iUw8V2SS6AO73ml9I/7U=
=nfFW
-----END PGP SIGNATURE-----



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