RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: [EMAIL PROTECTED]
Module: rpm Date: 31-May-2008 23:06:49
Branch: rpm-4_5 Handle: 2008053121064800
Modified files: (Branch: rpm-4_5)
rpm CHANGES
rpm/rpmdb db3.c
Log:
- jbj: rpmdb: fix: limit RUNRECOVERY attempts, not every lazy open.
Summary:
Revision Changes Path
1.1360.2.85 +1 -0 rpm/CHANGES
1.64.2.7 +5 -0 rpm/rpmdb/db3.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.1360.2.84 -r1.1360.2.85 CHANGES
--- rpm/CHANGES 31 May 2008 18:59:05 -0000 1.1360.2.84
+++ rpm/CHANGES 31 May 2008 21:06:48 -0000 1.1360.2.85
@@ -1,4 +1,5 @@
4.4.9 -> 4.5:
+ - jbj: rpmdb: fix: limit RUNRECOVERY attempts, not every lazy open.
- jbj: backport assorted rpmio changes from HEAD to stay in sync.
- jbj: make sure the open path is set when using [bgl]zdOpen vector too.
- jbj: lzdio: rework the layering to be more similar to gzdio/bzdio.
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmdb/db3.c
============================================================================
$ cvs diff -u -r1.64.2.6 -r1.64.2.7 db3.c
--- rpm/rpmdb/db3.c 3 Sep 2007 14:23:51 -0000 1.64.2.6
+++ rpm/rpmdb/db3.c 31 May 2008 21:06:48 -0000 1.64.2.7
@@ -1273,12 +1273,17 @@
if (dbi->dbi_use_dbenv) {
/[EMAIL PROTECTED]@*/
if (rpmdb->db_dbenv == NULL) {
+ static int runrecoverycount = 0;
rc = db_init(dbi, dbhome, dbfile, dbsubfile, &dbenv);
switch (rc) {
default:
break;
case DB_RUNRECOVERY:
+ if (runrecoverycount++ >= 1) {
+ rpmlog(RPMLOG_ERR, _("RUNRECOVERY failed, exiting ...\n"));
+ exit(EXIT_FAILURE);
+ }
rpmError(RPMERR_DBERR, _("Runnning db->verify ...\n"));
rpmdb = rpmdbLink(rpmdb, "DB_RUNRECOVERY");
rpmdb->db_remove_env = 1;
@@ .
______________________________________________________________________
RPM Package Manager http://rpm5.org
CVS Sources Repository [email protected]