diff options
author | pfg <pfg@FreeBSD.org> | 2016-04-26 15:38:17 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2016-04-26 15:38:17 +0000 |
commit | fc01419148d065603607b1008d536431465f3bc3 (patch) | |
tree | 1bff72784c0591a61e4e16e97fae48d0614891dc /sys/geom/part/g_part_gpt.c | |
parent | 3a3f015eb3ae533a46cf30b5262d15cb4b5db097 (diff) | |
download | FreeBSD-src-fc01419148d065603607b1008d536431465f3bc3.zip FreeBSD-src-fc01419148d065603607b1008d536431465f3bc3.tar.gz |
sys: extend use of the howmany() macro when available.
We have a howmany() macro in the <sys/param.h> header that is
convenient to re-use as it makes things easier to read.
Diffstat (limited to 'sys/geom/part/g_part_gpt.c')
-rw-r--r-- | sys/geom/part/g_part_gpt.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/sys/geom/part/g_part_gpt.c b/sys/geom/part/g_part_gpt.c index 465bb5e..f9017ab 100644 --- a/sys/geom/part/g_part_gpt.c +++ b/sys/geom/part/g_part_gpt.c @@ -472,8 +472,7 @@ gpt_read_hdr(struct g_part_gpt_table *table, struct g_consumer *cp, hdr->hdr_lba_table <= hdr->hdr_lba_end) goto fail; lba = hdr->hdr_lba_table + - (hdr->hdr_entries * hdr->hdr_entsz + pp->sectorsize - 1) / - pp->sectorsize - 1; + howmany(hdr->hdr_entries * hdr->hdr_entsz, pp->sectorsize) - 1; if (lba >= last) goto fail; if (lba >= hdr->hdr_lba_start && lba <= hdr->hdr_lba_end) @@ -515,7 +514,7 @@ gpt_read_tbl(struct g_part_gpt_table *table, struct g_consumer *cp, table->state[elt] = GPT_STATE_MISSING; tblsz = hdr->hdr_entries * hdr->hdr_entsz; - sectors = (tblsz + pp->sectorsize - 1) / pp->sectorsize; + sectors = howmany(tblsz, pp->sectorsize); buf = g_malloc(sectors * pp->sectorsize, M_WAITOK | M_ZERO); for (idx = 0; idx < sectors; idx += MAXPHYS / pp->sectorsize) { size = (sectors - idx > MAXPHYS / pp->sectorsize) ? MAXPHYS: @@ -653,8 +652,8 @@ g_part_gpt_create(struct g_part_table *basetable, struct g_part_parms *gpp) table = (struct g_part_gpt_table *)basetable; pp = gpp->gpp_provider; - tblsz = (basetable->gpt_entries * sizeof(struct gpt_ent) + - pp->sectorsize - 1) / pp->sectorsize; + tblsz = howmany(basetable->gpt_entries * sizeof(struct gpt_ent), + pp->sectorsize); if (pp->sectorsize < MBRSIZE || pp->mediasize < (3 + 2 * tblsz + basetable->gpt_entries) * pp->sectorsize) @@ -1134,8 +1133,8 @@ g_part_gpt_write(struct g_part_table *basetable, struct g_consumer *cp) pp = cp->provider; table = (struct g_part_gpt_table *)basetable; - tblsz = (table->hdr->hdr_entries * table->hdr->hdr_entsz + - pp->sectorsize - 1) / pp->sectorsize; + tblsz = howmany(table->hdr->hdr_entries * table->hdr->hdr_entsz, + pp->sectorsize); /* Reconstruct the MBR from the GPT if under Boot Camp. */ if (table->bootcamp) @@ -1239,8 +1238,8 @@ g_gpt_set_defaults(struct g_part_table *basetable, struct g_provider *pp) table = (struct g_part_gpt_table *)basetable; last = pp->mediasize / pp->sectorsize - 1; - tblsz = (basetable->gpt_entries * sizeof(struct gpt_ent) + - pp->sectorsize - 1) / pp->sectorsize; + tblsz = howmany(basetable->gpt_entries * sizeof(struct gpt_ent), + pp->sectorsize); table->lba[GPT_ELT_PRIHDR] = 1; table->lba[GPT_ELT_PRITBL] = 2; |