Simplify extent_quantize().
2cdf07aba971d1e21edc203e7d4073b6ce8e72b9 (Fix extent_quantize() to
handle greater-than-huge-size extents.) solved a non-problem; the
expression passed in to index2size() was never too large. However the
expression could in principle underflow, so fix the actual (latent) bug
and remove unnecessary complexity.
diff --git a/src/extent.c b/src/extent.c
index 828f627..b1b894d 100644
--- a/src/extent.c
+++ b/src/extent.c
@@ -16,12 +16,9 @@
assert(size > 0);
ind = size2index(size + 1);
- if (ind == NSIZES) {
- /*
- * Allocation requests can't directly create extents that exceed
- * HUGE_MAXCLASS, but extent merging can create them.
- */
- return (HUGE_MAXCLASS);
+ if (ind == 0) {
+ /* Avoid underflow. */
+ return (index2size(0));
}
ret = index2size(ind - 1);
assert(ret <= size);