svn commit: r222819 - head/sbin/geom/class/part
Andrey V. Elsukov
ae at FreeBSD.org
Tue Jun 7 11:11:12 UTC 2011
Author: ae
Date: Tue Jun 7 11:11:11 2011
New Revision: 222819
URL: http://svn.freebsd.org/changeset/base/222819
Log:
Do not use LCM from stripesize and user specified alignment value.
When user wants have specific alignment - do what user wants.
Use stripesize as alignment value in case, when some of gpart's
arguments are ommitted for automatic calculation.
Suggested by: mav
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 7 09:37:08 2011 (r222818)
+++ head/sbin/geom/class/part/geom_part.c Tue Jun 7 11:11:11 2011 (r222819)
@@ -341,9 +341,10 @@ gpart_autofill_resize(struct gctl_req *r
errc(EXIT_FAILURE, error, "Invalid alignment param");
if (alignment == 0)
errx(EXIT_FAILURE, "Invalid alignment param");
+ } else {
lba = pp->lg_stripesize / pp->lg_sectorsize;
if (lba > 0)
- alignment = g_lcm(lba, alignment);
+ alignment = lba;
}
error = gctl_delete_param(req, "alignment");
if (error)
@@ -491,13 +492,9 @@ gpart_autofill(struct gctl_req *req)
if (has_size && has_start && !has_alignment)
goto done;
- /*
- * If stripesize is not zero, then recalculate alignment value.
- * Use LCM from stripesize and user specified alignment.
- */
len = pp->lg_stripesize / pp->lg_sectorsize;
- if (len > 0 )
- alignment = g_lcm(len, alignment);
+ if (len > 0 && !has_alignment)
+ alignment = len;
/* Adjust parameters to stripeoffset */
offset = pp->lg_stripeoffset / pp->lg_sectorsize;
More information about the svn-src-all
mailing list