Date: Sun, 20 May 2012 12:50:06 -0700 From: Tim Kientzle <tim@kientzle.com> To: Rozhuk.IM@gmail.com Cc: 'User Wojtek' <wojtek@wojtek.tensor.gdynia.pl>, 'Matthias Apitz' <guru@unixarea.de>, freebsd-hackers@freebsd.org Subject: Geom_mbr vs. SSD disks (was: proper newts options for SSD disks) Message-ID: <CFA47342-DE88-436E-9DE3-16E8FF266444@kientzle.com> In-Reply-To: <4fb7e819.6968700a.7a7f.ffff9153@mx.google.com> References: <alpine.BSF.2.00.1205182209010.9350@wojtek.tensor.gdynia.pl> <4fb7dfd6.736a980a.186d.ffff902f@mx.google.com> <20120519180901.GA1264@tiny> <4fb7e819.6968700a.7a7f.ffff9153@mx.google.com>
index | next in thread | previous in thread | raw e-mail
On May 19, 2012, at 11:36 AM, rozhuk.im@gmail.com wrote:
> Do not use MBR (or manually do all to align).
> 63 - not 4k aligned.
Right now, the "-a" alignment option for "gpart add" is broken when
used with MBR partitions. It looks like the gpart command uses
it to correctly align the start/end, but then the actual MBR geom code
does another alignment pass that rounds the start/size to
a multiple of gpt_sectors, which defaults to 63.
This seems problematic.
It's tempting to change sys/geom/part/g_part_mbr.c so that
it skips this additional alignment when the geometry has
defaulted. Something like this:
Index: sys/geom/part/g_part_mbr.c
===================================================================
--- part/g_part_mbr.c (revision 235597)
+++ part/g_part_mbr.c (working copy)
@@ -211,6 +211,7 @@
start = gpp->gpp_start;
size = gpp->gpp_size;
+ if (sectors != 63 || basetable->gpt_heads != 255) {
if (size < sectors)
return (EINVAL);
if (start % sectors) {
@@ -221,6 +222,7 @@
size = size - (size % sectors);
if (size < sectors)
return (EINVAL);
+ }
if (baseentry->gpe_deleted)
bzero(&entry->ent, sizeof(entry->ent));
I'm not really certain I understand all of the implications
of this change, though.
Tim
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CFA47342-DE88-436E-9DE3-16E8FF266444>
