summaryrefslogtreecommitdiffstats
path: root/sys/geom
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2014-08-25 12:49:10 +0000
committerae <ae@FreeBSD.org>2014-08-25 12:49:10 +0000
commit0f937e35326ae0be861a361aafbff72d6dad11be (patch)
tree5f4be1d24df78fa4aac7ae59bd0792850eb411fb /sys/geom
parent74de42980652ad149abb82036d7f0e9cd7e462a1 (diff)
downloadFreeBSD-src-0f937e35326ae0be861a361aafbff72d6dad11be.zip
FreeBSD-src-0f937e35326ae0be861a361aafbff72d6dad11be.tar.gz
MFC r268407 (by gjb):
Fix non-version text after .Fx macro usage. MFC r269487 (by issyl0): Add generic list, status, load and unload docs to gpart(8) - In the style of gmirror(8). PR: docs/191534 MFC r269852: Add sysctl and loader tunable kern.geom.part.mbr.enforce_chs that is set by default. It can be used to disable automatic alignment to CHS geometry, that GEOM_PART_MBR does.
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/part/g_part_mbr.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/geom/part/g_part_mbr.c b/sys/geom/part/g_part_mbr.c
index 73101ff..fe61c3e 100644
--- a/sys/geom/part/g_part_mbr.c
+++ b/sys/geom/part/g_part_mbr.c
@@ -49,6 +49,14 @@ __FBSDID("$FreeBSD$");
FEATURE(geom_part_mbr, "GEOM partitioning class for MBR support");
+SYSCTL_DECL(_kern_geom_part);
+static SYSCTL_NODE(_kern_geom_part, OID_AUTO, mbr, CTLFLAG_RW, 0,
+ "GEOM_PART_MBR Master Boot Record");
+
+static u_int enforce_chs = 1;
+SYSCTL_UINT(_kern_geom_part_mbr, OID_AUTO, enforce_chs,
+ CTLFLAG_RWTUN, &enforce_chs, 1, "Enforce alignment to CHS addressing");
+
#define MBRSIZE 512
struct g_part_mbr_table {
@@ -200,6 +208,8 @@ mbr_align(struct g_part_table *basetable, uint32_t *start, uint32_t *size)
{
uint32_t sectors;
+ if (enforce_chs == 0)
+ return (0);
sectors = basetable->gpt_sectors;
if (*size < sectors)
return (EINVAL);
OpenPOWER on IntegriCloud