Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
db1
db.1.85.hash.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File db.1.85.hash.diff of Package db1
--- hash/hash_bigkey.c 1998-09-23 16:00:22.000000000 +0200 +++ hash/hash_bigkey.c 2002-02-13 16:02:07.000000000 +0100 @@ -245,7 +245,7 @@ n -= 2; bp[0] = n; FREESPACE(bp) = hashp->BSIZE - PAGE_META(n); - OFFSET(bp) = hashp->BSIZE - 1; + OFFSET(bp) = hashp->BSIZE; bufp->flags |= BUF_MOD; if (rbufp) --- hash/hash.c 1998-09-23 16:00:21.000000000 +0200 +++ hash/hash.c 2002-03-12 16:00:54.000000000 +0100 @@ -305,8 +305,10 @@ if (file != NULL) { if (stat(file, &statbuf)) return (NULL); - hashp->BSIZE = statbuf.st_blksize; - hashp->BSHIFT = __hash_log2(hashp->BSIZE); + if (statbuf.st_blksize > MAX_BSIZE) + statbuf.st_blksize = MAX_BSIZE; + hashp->BSHIFT = __hash_log2(statbuf.st_blksize); + hashp->BSIZE = 1 << hashp->BSHIFT; } #endif --- hash/hash_page.c 1996-01-02 09:54:00.000000000 +0100 +++ hash/hash_page.c 2002-09-25 10:54:48.000000000 +0200 @@ -420,6 +420,7 @@ /* Try to squeeze key on this page */ if (FREESPACE(bp) > PAIRSIZE(key, val)) { squeeze_key(bp, key, val); + bufp->flags |= BUF_MOD; return (0); } else { bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); @@ -794,7 +795,7 @@ /* Calculate the split number for this page */ for (i = 0; (i < splitnum) && (bit > hashp->SPARES[i]); i++); offset = (i ? bit - hashp->SPARES[i - 1] : bit); - if (offset >= SPLITMASK) + if (offset > SPLITMASK) return (0); /* Out of overflow pages */ addr = OADDR_OF(i, offset); #ifdef DEBUG2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor