summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAndrey V. Elsukov <ae@FreeBSD.org>2010-06-07 10:22:22 +0000
committerAndrey V. Elsukov <ae@FreeBSD.org>2010-06-07 10:22:22 +0000
commite79044fd18f2b50d21fe4f28a5ee0663a47f6a30 (patch)
tree9b0a7f41462b320a24baf5c769214fde800d1b12 /sys
parentc21c27aa903674acd742948d414df0593f6236ed (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/geom/part/g_part.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c
index 2c6b7f636010..aa7347a42ccf 100644
--- a/sys/geom/part/g_part.c
+++ b/sys/geom/part/g_part.c
@@ -1067,6 +1067,15 @@ g_part_ctl_undo(struct gctl_req *req, struct g_part_parms *gpp)
return (0);
}
table = gp->softc;
+
+ /*
+ * Synthesize a disk geometry. Some partitioning schemes
+ * depend on it and since some file systems need it even
+ * when the partitition scheme doesn't, we do it here in
+ * scheme-independent code.
+ */
+ pp = cp->provider;
+ g_part_geometry(table, cp, pp->mediasize / pp->sectorsize);
}
error = G_PART_READ(table, cp);