[Zodb-checkins] CVS: ZODB3/bsddb3Storage - db-4014-patch.txt:1.1
Barry Warsaw
barry@wooz.org
Thu, 21 Nov 2002 14:54:02 -0500
Update of /cvs-repository/ZODB3/bsddb3Storage
In directory cvs.zope.org:/tmp/cvs-serv6045
Added Files:
db-4014-patch.txt
Log Message:
An important patch to BerkeleyDB 4.0.14 -- given by Keith Bostic --
for fixing a potential unrecoverable corruption related to .truncate()
=== Added File ZODB3/bsddb3Storage/db-4014-patch.txt ===
*** db/db_reclaim.c.orig 2002/04/05 16:16:17 11.22
--- db/db_reclaim.c 2002/04/10 18:53:13 11.23
***************
*** 195,202 ****
dbp->log_fileid, p->pgno, &LSN(meta),
PGNO_BASE_MD, &ldbt, meta->free)) != 0)
goto err;
-
LSN(p) = LSN(meta);
if ((ret =
__db_pg_alloc_log(dbp->dbenv,
param->dbc->txn, &LSN(meta), 0,
--- 195,202 ----
dbp->log_fileid, p->pgno, &LSN(meta),
PGNO_BASE_MD, &ldbt, meta->free)) != 0)
goto err;
LSN(p) = LSN(meta);
+
if ((ret =
__db_pg_alloc_log(dbp->dbenv,
param->dbc->txn, &LSN(meta), 0,
***************
*** 206,211 ****
--- 206,213 ----
(void)__TLPUT(param->dbc, metalock);
return (ret);
}
+ LSN(p) = LSN(meta);
+
if ((ret = mpf->put(mpf,
(PAGE *)meta, DB_MPOOL_DIRTY)) != 0) {
(void)__TLPUT(param->dbc, metalock);