]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/db-4.4.20-fixes-1.patch
~/src/patches/: Clean up orphaned patches, duplicates and application patches outside...
[people/pmueller/ipfire-2.x.git] / src / patches / db-4.4.20-fixes-1.patch
diff --git a/src/patches/db-4.4.20-fixes-1.patch b/src/patches/db-4.4.20-fixes-1.patch
deleted file mode 100644 (file)
index 8c11876..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-Submitted By: Dan Nicholson <dnicholson AT linuxfromscratch DOT org>
-Date: 2006-09-02
-Initial Package Version: 4.4.20
-Origin: Upstream - http://www.sleepycat.com/update/4.4.20/patch.4.4.20.html
-Description: Bug fixes provided by the developer. Contains patches 1-4.
-
-diff -pNur db-4.4.20.orig/db/db_cam.c db-4.4.20/db/db_cam.c
---- db-4.4.20.orig/db/db_cam.c 2006-01-10 16:19:21.000000000 +0000
-+++ db-4.4.20/db/db_cam.c      2006-08-03 14:31:20.220319610 +0000
-@@ -579,11 +579,12 @@ __db_c_get(dbc_arg, key, data, flags)
-           flags == DB_NEXT || flags == DB_NEXT_DUP || flags == DB_PREV)) {
-               if (tmp_rmw && (ret = dbc_arg->c_am_writelock(dbc_arg)) != 0)
-                       return (ret);
--              if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
-+              if (F_ISSET(dbc_arg, DBC_TRANSIENT))
-+                      opd = cp->opd;
-+              else if ((ret = __db_c_idup(cp->opd, &opd, DB_POSITION)) != 0)
-                       return (ret);
--              switch (ret =
--                  opd->c_am_get(opd, key, data, flags, NULL)) {
-+              switch (ret = opd->c_am_get(opd, key, data, flags, NULL)) {
-               case 0:
-                       goto done;
-               case DB_NOTFOUND:
-@@ -596,12 +597,18 @@ __db_c_get(dbc_arg, key, data, flags)
-                               if ((ret = __db_c_close(opd)) != 0)
-                                       goto err;
-                               opd = NULL;
-+                              if (F_ISSET(dbc_arg, DBC_TRANSIENT))
-+                                      cp->opd = NULL;
-                               break;
-                       }
-                       goto err;
-               default:
-                       goto err;
-               }
-+      } else if (cp->opd != NULL && F_ISSET(dbc_arg, DBC_TRANSIENT)) {
-+              if ((ret = __db_c_close(cp->opd)) != 0)
-+                      goto err;
-+              cp->opd = NULL;
-       }
-       /*
-diff -pNur db-4.4.20.orig/mp/mp_fget.c db-4.4.20/mp/mp_fget.c
---- db-4.4.20.orig/mp/mp_fget.c        2005-10-12 17:53:36.000000000 +0000
-+++ db-4.4.20/mp/mp_fget.c     2006-08-03 14:31:20.223318410 +0000
-@@ -587,8 +587,11 @@ alloc:            /*
-        */
-       if (state != SECOND_MISS && bhp->ref == 1) {
-               bhp->priority = UINT32_MAX;
--              SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
--              SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
-+              if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) !=
-+                   SH_TAILQ_LAST(&hp->hash_bucket, hq, __bh)) {
-+                      SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
-+                      SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
-+              }
-               hp->hash_priority =
-                   SH_TAILQ_FIRSTP(&hp->hash_bucket, __bh)->priority;
-       }
-diff -pNur db-4.4.20.orig/qam/qam_files.c db-4.4.20/qam/qam_files.c
---- db-4.4.20.orig/qam/qam_files.c     2005-10-20 18:57:12.000000000 +0000
-+++ db-4.4.20/qam/qam_files.c  2006-08-03 14:31:20.211323209 +0000
-@@ -411,6 +411,12 @@ __qam_fremove(dbp, pgnoaddr)
-           DB_APP_DATA, buf, 0, NULL, &real_name)) != 0)
-               goto err;
- #endif
-+
-+      mpf = array->mpfarray[offset].mpf;
-+      /* This extent my already be marked for delete and closed. */
-+      if (mpf == NULL)
-+              goto err;
-+
-       /*
-        * The log must be flushed before the file is deleted.  We depend on
-        * the log record of the last delete to recreate the file if we crash.
-@@ -418,7 +424,6 @@ __qam_fremove(dbp, pgnoaddr)
-       if (LOGGING_ON(dbenv) && (ret = __log_flush(dbenv, NULL)) != 0)
-               goto err;
--      mpf = array->mpfarray[offset].mpf;
-       (void)__memp_set_flags(mpf, DB_MPOOL_UNLINK, 1);
-       /* Someone could be real slow, let them close it down. */
-       if (array->mpfarray[offset].pinref != 0)
-diff -pNur db-4.4.20.orig/txn/txn.c db-4.4.20/txn/txn.c
---- db-4.4.20.orig/txn/txn.c   2005-11-01 14:50:03.000000000 +0000
-+++ db-4.4.20/txn/txn.c        2006-08-03 14:31:20.215321609 +0000
-@@ -1049,12 +1049,14 @@ __txn_set_name(txn, name)
-               return (ret);
-       memcpy(txn->name, name, len);
-+      TXN_SYSTEM_LOCK(dbenv);
-       if (td->name != INVALID_ROFF) {
-               __db_shalloc_free(
-                   &mgr->reginfo, R_ADDR(&mgr->reginfo, td->name));
-               td->name = INVALID_ROFF;
-       }
-       if ((ret = __db_shalloc(&mgr->reginfo, len, 0, &p)) != 0) {
-+              TXN_SYSTEM_UNLOCK(dbenv);
-               __db_err(dbenv,
-                   "Unable to allocate memory for transaction name");
-@@ -1063,6 +1065,7 @@ __txn_set_name(txn, name)
-               return (ret);
-       }
-+      TXN_SYSTEM_UNLOCK(dbenv);
-       td->name = R_OFFSET(&mgr->reginfo, p);
-       memcpy(p, name, len);