Author: randy Date: 2008-10-07 09:30:02 -0600 (Tue, 07 Oct 2008) New Revision: 1981
Added: trunk/db/db-4.7.25-upstream_fixes-1.patch Removed: trunk/db/db-4.7.25-4.7.25.1.patch Log: Renamed the current BDB patch to conform with LFS guidelines Deleted: trunk/db/db-4.7.25-4.7.25.1.patch =================================================================== --- trunk/db/db-4.7.25-4.7.25.1.patch 2008-10-05 21:29:45 UTC (rev 1980) +++ trunk/db/db-4.7.25-4.7.25.1.patch 2008-10-07 15:30:02 UTC (rev 1981) @@ -1,64 +0,0 @@ -Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org> -Date: 2008-09-28 -Initial Package Version: 4.7.25 -Upstream Status: From Upstream -Origin: http://www.oracle.com/technology/products/berkeley-db/db/update/4.7.25/patch.4.7.25.1 -Description: Update to latest patch for 4.7.25 release (avoid improperly named - patches in LFS). - -diff -Naur db-4.7.25-orig/sequence/sequence.c db-4.7.25/sequence/sequence.c ---- db-4.7.25-orig/sequence/sequence.c 2008-05-05 15:25:09.000000000 -0500 -+++ db-4.7.25/sequence/sequence.c 2008-09-28 00:03:59.000000000 -0500 -@@ -187,7 +187,11 @@ - if ((ret = __db_get_flags(dbp, &tflags)) != 0) - goto err; - -- if (DB_IS_READONLY(dbp)) { -+ /* -+ * We can let replication clients open sequences, but must -+ * check later that they do not update them. -+ */ -+ if (F_ISSET(dbp, DB_AM_RDONLY)) { - ret = __db_rdonly(dbp->env, "DB_SEQUENCE->open"); - goto err; - } -@@ -244,6 +248,11 @@ - if ((ret != DB_NOTFOUND && ret != DB_KEYEMPTY) || - !LF_ISSET(DB_CREATE)) - goto err; -+ if (IS_REP_CLIENT(env) && -+ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) { -+ ret = __db_rdonly(env, "DB_SEQUENCE->open"); -+ goto err; -+ } - ret = 0; - - rp = &seq->seq_record; -@@ -296,7 +305,12 @@ - */ - rp = seq->seq_data.data; - if (rp->seq_version == DB_SEQUENCE_OLDVER) { --oldver: rp->seq_version = DB_SEQUENCE_VERSION; -+oldver: if (IS_REP_CLIENT(env) && -+ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) { -+ ret = __db_rdonly(env, "DB_SEQUENCE->open"); -+ goto err; -+ } -+ rp->seq_version = DB_SEQUENCE_VERSION; - if (!F_ISSET(env, ENV_LITTLEENDIAN)) { - if (IS_DB_AUTO_COMMIT(dbp, txn)) { - if ((ret = -@@ -707,6 +721,13 @@ - - MUTEX_LOCK(env, seq->mtx_seq); - -+ if (handle_check && IS_REP_CLIENT(env) && -+ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) { -+ ret = __db_rdonly(env, "DB_SEQUENCE->get"); -+ goto err; -+ } -+ -+ - if (rp->seq_min + delta > rp->seq_max) { - __db_errx(env, "Sequence overflow"); - ret = EINVAL; Copied: trunk/db/db-4.7.25-upstream_fixes-1.patch (from rev 1980, trunk/db/db-4.7.25-4.7.25.1.patch) =================================================================== --- trunk/db/db-4.7.25-upstream_fixes-1.patch (rev 0) +++ trunk/db/db-4.7.25-upstream_fixes-1.patch 2008-10-07 15:30:02 UTC (rev 1981) @@ -0,0 +1,64 @@ +Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org> +Date: 2008-09-28 +Initial Package Version: 4.7.25 +Upstream Status: From Upstream +Origin: http://www.oracle.com/technology/products/berkeley-db/db/update/4.7.25/patch.4.7.25.1 +Description: Update to latest patch for 4.7.25 release (avoid improperly named + patches in LFS). + +diff -Naur db-4.7.25-orig/sequence/sequence.c db-4.7.25/sequence/sequence.c +--- db-4.7.25-orig/sequence/sequence.c 2008-05-05 15:25:09.000000000 -0500 ++++ db-4.7.25/sequence/sequence.c 2008-09-28 00:03:59.000000000 -0500 +@@ -187,7 +187,11 @@ + if ((ret = __db_get_flags(dbp, &tflags)) != 0) + goto err; + +- if (DB_IS_READONLY(dbp)) { ++ /* ++ * We can let replication clients open sequences, but must ++ * check later that they do not update them. ++ */ ++ if (F_ISSET(dbp, DB_AM_RDONLY)) { + ret = __db_rdonly(dbp->env, "DB_SEQUENCE->open"); + goto err; + } +@@ -244,6 +248,11 @@ + if ((ret != DB_NOTFOUND && ret != DB_KEYEMPTY) || + !LF_ISSET(DB_CREATE)) + goto err; ++ if (IS_REP_CLIENT(env) && ++ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) { ++ ret = __db_rdonly(env, "DB_SEQUENCE->open"); ++ goto err; ++ } + ret = 0; + + rp = &seq->seq_record; +@@ -296,7 +305,12 @@ + */ + rp = seq->seq_data.data; + if (rp->seq_version == DB_SEQUENCE_OLDVER) { +-oldver: rp->seq_version = DB_SEQUENCE_VERSION; ++oldver: if (IS_REP_CLIENT(env) && ++ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) { ++ ret = __db_rdonly(env, "DB_SEQUENCE->open"); ++ goto err; ++ } ++ rp->seq_version = DB_SEQUENCE_VERSION; + if (!F_ISSET(env, ENV_LITTLEENDIAN)) { + if (IS_DB_AUTO_COMMIT(dbp, txn)) { + if ((ret = +@@ -707,6 +721,13 @@ + + MUTEX_LOCK(env, seq->mtx_seq); + ++ if (handle_check && IS_REP_CLIENT(env) && ++ !F_ISSET(dbp, DB_AM_NOT_DURABLE)) { ++ ret = __db_rdonly(env, "DB_SEQUENCE->get"); ++ goto err; ++ } ++ ++ + if (rp->seq_min + delta > rp->seq_max) { + __db_errx(env, "Sequence overflow"); + ret = EINVAL; -- http://linuxfromscratch.org/mailman/listinfo/patches FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
