summaryrefslogtreecommitdiff
path: root/db/pdfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'db/pdfile.cpp')
-rw-r--r--db/pdfile.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/db/pdfile.cpp b/db/pdfile.cpp
index ac7731a..60914d9 100644
--- a/db/pdfile.cpp
+++ b/db/pdfile.cpp
@@ -434,6 +434,7 @@ namespace mongo {
}
Extent* MongoDataFile::createExtent(const char *ns, int approxSize, bool newCapped, int loops) {
+ assert( approxSize <= Extent::maxSize() );
{
// make sizes align with VM page size
int newSize = (approxSize + 0xfff) & 0xfffff000;
@@ -491,6 +492,10 @@ namespace mongo {
// overflowed
high = max(approxSize, Extent::maxSize());
}
+ if ( high <= Extent::minSize() ) {
+ // the minimum extent size is 4097
+ high = Extent::minSize() + 1;
+ }
int n = 0;
Extent *best = 0;
int bestDiff = 0x7fffffff;