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]

Reply via email to