svn commit: r261439 - head/sys/geom/uncompress
Luiz Otavio O Souza
loos at FreeBSD.org
Mon Feb 3 17:21:36 UTC 2014
Author: loos
Date: Mon Feb 3 17:21:36 2014
New Revision: 261439
URL: http://svnweb.freebsd.org/changeset/base/261439
Log:
Remove some unnecessary code. The offsets read from the first block are
overwritten a few lines bellow.
Reviewed by: ray
Approved by: adrian (mentor)
Modified:
head/sys/geom/uncompress/g_uncompress.c
Modified: head/sys/geom/uncompress/g_uncompress.c
==============================================================================
--- head/sys/geom/uncompress/g_uncompress.c Mon Feb 3 16:54:53 2014 (r261438)
+++ head/sys/geom/uncompress/g_uncompress.c Mon Feb 3 17:21:36 2014 (r261439)
@@ -451,7 +451,7 @@ g_uncompress_taste(struct g_class *mp, s
struct g_provider *pp2;
struct g_consumer *cp;
struct g_geom *gp;
- uint32_t i, total_offsets, offsets_read, type;
+ uint32_t i, total_offsets, type;
uint8_t *buf;
int error;
@@ -546,21 +546,15 @@ g_uncompress_taste(struct g_class *mp, s
gp->name, sc->nblocks);
goto err;
}
- sc->offsets = malloc(
- total_offsets * sizeof(uint64_t), M_GEOM_UNCOMPRESS, M_WAITOK);
- offsets_read = MIN(total_offsets,
- (pp->sectorsize - sizeof(*header)) / sizeof(uint64_t));
- for (i = 0; i < offsets_read; i++)
- sc->offsets[i] = be64toh(((uint64_t *) (header + 1))[i]);
- DPRINTF(("%s: %u offsets in the first sector\n",
- gp->name, offsets_read));
-
free(buf, M_GEOM);
+
i = roundup((sizeof(struct cloop_header) +
total_offsets * sizeof(uint64_t)),pp->sectorsize);
buf = g_read_data(cp, 0, i, NULL);
if (buf == NULL)
goto err;
+ sc->offsets = malloc(total_offsets * sizeof(uint64_t),
+ M_GEOM_UNCOMPRESS, M_WAITOK);
for (i = 0; i <= total_offsets; i++) {
sc->offsets[i] = be64toh(((uint64_t *)
(buf+sizeof(struct cloop_header)))[i]);
More information about the svn-src-all
mailing list