]> git.pld-linux.org Git - packages/db4.1.git/blobdiff - patch.4.1.25.3
- added 4.1.25.[23] patches
[packages/db4.1.git] / patch.4.1.25.3
diff --git a/patch.4.1.25.3 b/patch.4.1.25.3
new file mode 100644 (file)
index 0000000..5b370ea
--- /dev/null
@@ -0,0 +1,50 @@
+*** mp/mp_fget.c.orig  2002-08-07 08:23:01.000000000 -0700
+--- mp/mp_fget.c       2006-05-30 20:32:20.000000000 -0700
+***************
+*** 506,513 ****
+        */
+       if (state != SECOND_MISS && bhp->ref == 1) {
+               bhp->priority = UINT32_T_MAX;
+!              SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
+!              SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
+               hp->hash_priority =
+                   SH_TAILQ_FIRST(&hp->hash_bucket, __bh)->priority;
+       }
+--- 506,517 ----
+        */
+       if (state != SECOND_MISS && bhp->ref == 1) {
+               bhp->priority = UINT32_T_MAX;
+!              /* Move the buffer if there are others in the bucket. */
+!              if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) != bhp
+!                  || SH_TAILQ_NEXT(bhp, hq, __bh) != NULL) {
+!                      SH_TAILQ_REMOVE(&hp->hash_bucket, bhp, hq, __bh);
+!                      SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
+!              }
+               hp->hash_priority =
+                   SH_TAILQ_FIRST(&hp->hash_bucket, __bh)->priority;
+       }
+*** mp/mp_fput.c.orig  2002-08-13 06:26:41.000000000 -0700
+--- mp/mp_fput.c       2006-05-30 20:55:11.000000000 -0700
+***************
+*** 166,171 ****
+--- 166,176 ----
+        * to the correct position in the list.
+        */
+       argbhp = bhp;
++      /* Move the buffer if there are others in the bucket. */
++      if (SH_TAILQ_FIRST(&hp->hash_bucket, __bh) == bhp
++          && SH_TAILQ_NEXT(bhp, hq, __bh) != NULL)
++              goto done;
++ 
+       SH_TAILQ_REMOVE(&hp->hash_bucket, argbhp, hq, __bh);
+  
+       prev = NULL;
+***************
+*** 178,183 ****
+--- 183,189 ----
+       else
+               SH_TAILQ_INSERT_AFTER(&hp->hash_bucket, prev, argbhp, hq, __bh);
+  
++ done:
+       /* Reset the hash bucket's priority. */
+       hp->hash_priority = SH_TAILQ_FIRST(&hp->hash_bucket, __bh)->priority;
This page took 0.079648 seconds and 4 git commands to generate.