[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);