blob: d4c51bc6bff0401b9c937a0823ed92eb3c3a0185 [file] [log] [blame]
Tim Peters78e35f92002-11-22 20:00:34 +00001This patch is against Sleepycat's db-4.0.14 release. It's not on the
2Sleepycat site. It fixes cases of database corruption Barry (Warsaw)
3was seeing, and Barry got it from Sleepycat.
4
5*** db/db_reclaim.c.orig 2002/04/05 16:16:17 11.22
6--- db/db_reclaim.c 2002/04/10 18:53:13 11.23
7***************
8*** 195,202 ****
9 dbp->log_fileid, p->pgno, &LSN(meta),
10 PGNO_BASE_MD, &ldbt, meta->free)) != 0)
11 goto err;
12-
13 LSN(p) = LSN(meta);
14 if ((ret =
15 __db_pg_alloc_log(dbp->dbenv,
16 param->dbc->txn, &LSN(meta), 0,
17--- 195,202 ----
18 dbp->log_fileid, p->pgno, &LSN(meta),
19 PGNO_BASE_MD, &ldbt, meta->free)) != 0)
20 goto err;
21 LSN(p) = LSN(meta);
22+
23 if ((ret =
24 __db_pg_alloc_log(dbp->dbenv,
25 param->dbc->txn, &LSN(meta), 0,
26***************
27*** 206,211 ****
28--- 206,213 ----
29 (void)__TLPUT(param->dbc, metalock);
30 return (ret);
31 }
32+ LSN(p) = LSN(meta);
33+
34 if ((ret = mpf->put(mpf,
35 (PAGE *)meta, DB_MPOOL_DIRTY)) != 0) {
36 (void)__TLPUT(param->dbc, metalock);