From 0d3e96e39cedaa256c341843049ab50e3341ad85 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Sat, 12 Apr 2003 08:41:26 +0000 Subject: [PATCH] Retire the "frontstuff" record keeping, it was no match for the in-band meta-data of BSD labels and a more complex solution will be needed. --- sys/geom/geom_apple.c | 6 ------ sys/geom/geom_bsd.c | 1 - sys/geom/geom_gpt.c | 3 --- sys/geom/geom_mbr.c | 2 -- sys/geom/geom_pc98.c | 1 - sys/geom/geom_slice.c | 23 +---------------------- sys/geom/geom_slice.h | 2 -- sys/geom/geom_sunlabel.c | 1 - 8 files changed, 1 insertion(+), 38 deletions(-) diff --git a/sys/geom/geom_apple.c b/sys/geom/geom_apple.c index 745470f2e051..c0cbc5926ffc 100644 --- a/sys/geom/geom_apple.c +++ b/sys/geom/geom_apple.c @@ -178,12 +178,6 @@ g_apple_taste(struct g_class *mp, struct g_provider *pp, int insist) if (sectorsize != 512) break; - /* - * Reserve the driver record. XXX Should the partition - * map be included ? - */ - gsp->frontstuff = sectorsize; - buf = g_read_data(cp, 0, sectorsize, &error); if (buf == NULL || error != 0) break; diff --git a/sys/geom/geom_bsd.c b/sys/geom/geom_bsd.c index 3dccb88c2284..afef3012db0d 100644 --- a/sys/geom/geom_bsd.c +++ b/sys/geom/geom_bsd.c @@ -462,7 +462,6 @@ g_bsd_try(struct g_geom *gp, struct g_slicer *gsp, struct g_consumer *cp, int se /* If we had a label, record it properly. */ if (error == 0) { - gsp->frontstuff = 16 * secsize; /* XXX */ ms->labeloffset = offset; g_topology_lock(); g_slice_conf_hot(gp, 0, offset, g_bsd_ondisk_size()); diff --git a/sys/geom/geom_gpt.c b/sys/geom/geom_gpt.c index d51a8243e1f2..764e47c7b3b0 100644 --- a/sys/geom/geom_gpt.c +++ b/sys/geom/geom_gpt.c @@ -209,9 +209,6 @@ g_gpt_taste(struct g_class *mp, struct g_provider *pp, int insist) tblsz = (hdr->hdr_entries * hdr->hdr_entsz + secsz - 1) & ~(secsz - 1); buf = g_read_data(cp, hdr->hdr_lba_table * secsz, tblsz, &error); - - gsp->frontstuff = hdr->hdr_lba_start * secsz; - for (i = 0; i < hdr->hdr_entries; i++) { struct uuid unused = GPT_ENT_TYPE_UNUSED; struct uuid freebsd = GPT_ENT_TYPE_FREEBSD; diff --git a/sys/geom/geom_mbr.c b/sys/geom/geom_mbr.c index 4c81ec728d3f..2663f3e56269 100644 --- a/sys/geom/geom_mbr.c +++ b/sys/geom/geom_mbr.c @@ -297,7 +297,6 @@ g_mbr_taste(struct g_class *mp, struct g_provider *pp, int insist) if (sectorsize < 512) break; ms->sectorsize = sectorsize; - gsp->frontstuff = sectorsize * fwsectors; buf = g_read_data(cp, 0, sectorsize, &error); if (buf == NULL || error != 0) break; @@ -404,7 +403,6 @@ g_mbrext_taste(struct g_class *mp, struct g_provider *pp, int insist __unused) sectorsize = cp->provider->sectorsize; if (sectorsize != 512) break; - gsp->frontstuff = sectorsize * fwsectors; for (;;) { buf = g_read_data(cp, off, sectorsize, &error); if (buf == NULL || error != 0) diff --git a/sys/geom/geom_pc98.c b/sys/geom/geom_pc98.c index 8c5775c46be1..c6ea40451fb3 100644 --- a/sys/geom/geom_pc98.c +++ b/sys/geom/geom_pc98.c @@ -328,7 +328,6 @@ g_pc98_taste(struct g_class *mp, struct g_provider *pp, int flags) sectorsize = cp->provider->sectorsize; if (sectorsize < 512) break; - gsp->frontstuff = sectorsize * fwsectors; buf = g_read_data(cp, 0, 8192, &error); if (buf == NULL || error != 0) break; diff --git a/sys/geom/geom_slice.c b/sys/geom/geom_slice.c index 73c54172b202..882ddb0bb4fb 100644 --- a/sys/geom/geom_slice.c +++ b/sys/geom/geom_slice.c @@ -220,18 +220,6 @@ g_slice_start(struct bio *bp) /* Give the real method a chance to override */ if (gsp->start(bp)) return; - if (!strcmp("GEOM::frontstuff", bp->bio_attribute)) { - t = gsp->cfrontstuff; - if (gsp->frontstuff > t) - t = gsp->frontstuff; - t -= gsl->offset; - if (t < 0) - t = 0; - if (t > gsl->length) - t = gsl->length; - g_handleattr_off_t(bp, "GEOM::frontstuff", t); - return; - } #ifdef _KERNEL if (!strcmp("GEOM::kerneldump", bp->bio_attribute)) { struct g_kerneldump *gkd; @@ -269,10 +257,6 @@ g_slice_dumpconf(struct sbuf *sb, const char *indent, struct g_geom *gp, struct (uintmax_t)gsp->slices[pp->index].offset); return; } - if (gp != NULL && (pp == NULL && cp == NULL)) { - sbuf_printf(sb, "%s%ju\n", - indent, (intmax_t)gsp->frontstuff); - } if (pp != NULL) { sbuf_printf(sb, "%s%u\n", indent, pp->index); sbuf_printf(sb, "%s%ju\n", @@ -400,7 +384,7 @@ g_slice_new(struct g_class *mp, u_int slices, struct g_provider *pp, struct g_co struct g_slicer *gsp; struct g_consumer *cp; void **vp; - int error, i; + int error; g_topology_assert(); vp = (void **)extrap; @@ -426,11 +410,6 @@ g_slice_new(struct g_class *mp, u_int slices, struct g_provider *pp, struct g_co g_destroy_geom(gp); return (NULL); } - /* Find out if there are any magic bytes on the consumer */ - i = sizeof gsp->cfrontstuff; - error = g_io_getattr("GEOM::frontstuff", cp, &i, &gsp->cfrontstuff); - if (error) - gsp->cfrontstuff = 0; *vp = gsp->softc; *cpp = cp; return (gp); diff --git a/sys/geom/geom_slice.h b/sys/geom/geom_slice.h index cc014d40d257..41ab9555618b 100644 --- a/sys/geom/geom_slice.h +++ b/sys/geom/geom_slice.h @@ -51,8 +51,6 @@ struct g_slicer { u_int nslice; u_int nprovider; u_int nhot; - off_t cfrontstuff; - off_t frontstuff; struct g_slice *slices; struct g_slice *hot; void *softc; diff --git a/sys/geom/geom_sunlabel.c b/sys/geom/geom_sunlabel.c index 8becf01ed548..5ceebc8f5b49 100644 --- a/sys/geom/geom_sunlabel.c +++ b/sys/geom/geom_sunlabel.c @@ -174,7 +174,6 @@ g_sunlabel_taste(struct g_class *mp, struct g_provider *pp, int flags) ms->sectorsize = cp->provider->sectorsize; if (ms->sectorsize < 512) break; - gsp->frontstuff = 16 * ms->sectorsize; mediasize = cp->provider->mediasize; buf = g_read_data(cp, 0, ms->sectorsize, &error); if (buf == NULL || error != 0)