[Fedora-directory-commits] ldapserver/ldap/servers/slapd/back-ldbm back-ldbm.h, 1.16, 1.17 dblayer.c, 1.28, 1.29 perfctrs.c, 1.10, 1.11 proto-back-ldbm.h, 1.14, 1.15

Richard Allen Megginson rmeggins at fedoraproject.org
Thu Oct 9 17:40:16 UTC 2008


Author: rmeggins

Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11117/ldapserver/ldap/servers/slapd/back-ldbm

Modified Files:
	back-ldbm.h dblayer.c perfctrs.c proto-back-ldbm.h 
Log Message:
Resolves: bug 454030, bug 463991
Bug Description: Need to address 64-bit compiler warnings - part 1
Reviewed by: nhosoi (Thanks!)
Fix Description: I inadvertantly committed fixes for 463991 along with fixes for 454030, and the fixes for 463991 broke the server.  This commit makes the server work again.



Index: back-ldbm.h
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/back-ldbm.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- back-ldbm.h	8 Oct 2008 17:29:03 -0000	1.16
+++ back-ldbm.h	9 Oct 2008 17:40:14 -0000	1.17
@@ -114,16 +114,6 @@
 #define MEGABYTE (1024 * 1024)
 #define GIGABYTE (1024 * MEGABYTE)
 
-#define DB_USES_LOCKING(env) \
-    (DB_INIT_LOCK & ((env)->get_open_flags((env), NULL)))
-#define DB_USES_TRANSACTIONS(env) \
-    (DB_INIT_TXN & ((env)->get_open_flags((env), NULL)))
-#define DB_USES_MPOOL(env) \
-    (DB_INIT_MPOOL & ((env)->get_open_flags((env), NULL)))
-#define DB_USES_LOGGING(env) \
-    (DB_INIT_LOG & ((env)->get_open_flags((env), NULL)))
-
-
 /* include NSPR header files */
 #include "nspr.h"
 #include "plhash.h"


Index: dblayer.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/dblayer.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- dblayer.c	8 Oct 2008 17:29:03 -0000	1.28
+++ dblayer.c	9 Oct 2008 17:40:14 -0000	1.29
@@ -277,6 +277,31 @@
     return slapi_berval_cmp(&bv1, &bv2);
 }
 
+static int db_uses_feature(DB_ENV *db_env, u_int32_t flags)
+{
+    u_int32_t openflags = 0;
+    PR_ASSERT(db_env);
+    (*db_env->get_open_flags)(db_env, &openflags);
+
+    return (flags & openflags);
+}
+
+int dblayer_db_uses_locking(DB_ENV *db_env) {
+    return db_uses_feature(db_env, DB_INIT_LOCK);
+}
+
+int dblayer_db_uses_transactions(DB_ENV *db_env) {
+    return db_uses_feature(db_env, DB_INIT_TXN);
+}
+
+int dblayer_db_uses_mpool(DB_ENV *db_env) {
+    return db_uses_feature(db_env, DB_INIT_MPOOL);
+}
+
+int dblayer_db_uses_logging(DB_ENV *db_env) {
+    return db_uses_feature(db_env, DB_INIT_LOG);
+};
+
 /* this flag use if user remotely turned batching off */
 
 #define FLUSH_REMOTEOFF -1 
@@ -3456,7 +3481,7 @@
     {
         if (priv->dblayer_enable_transactions) 
         {
-            if (DB_USES_LOCKING(priv->dblayer_env->dblayer_DB_ENV)) {
+            if (dblayer_db_uses_locking(priv->dblayer_env->dblayer_DB_ENV)) {
                 int aborted;
                 if ((rval = LOCK_DETECT(priv->dblayer_env->dblayer_DB_ENV,
                             0,
@@ -3626,7 +3651,7 @@
                                                checkpoint_interval) 
             continue;
 
-        if (!DB_USES_TRANSACTIONS(priv->dblayer_env->dblayer_DB_ENV))
+        if (!dblayer_db_uses_transactions(priv->dblayer_env->dblayer_DB_ENV))
             continue;
 
         /* now checkpoint */
@@ -3784,7 +3809,7 @@
         DS_Sleep(interval);   /* 622855: wait for other threads fully started */
         if (priv->dblayer_enable_transactions) 
         {
-            if ( DB_USES_MPOOL(priv->dblayer_env->dblayer_DB_ENV) &&
+            if ( dblayer_db_uses_mpool(priv->dblayer_env->dblayer_DB_ENV) &&
                  (0 != priv->dblayer_trickle_percentage) )
             {
                 int pages_written = 0;


Index: perfctrs.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/perfctrs.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- perfctrs.c	8 Oct 2008 17:29:04 -0000	1.10
+++ perfctrs.c	9 Oct 2008 17:40:14 -0000	1.11
@@ -296,7 +296,7 @@
 		return;
 	}
 	/* Call libdb to get the various stats */
-	if (DB_USES_LOGGING(db_env))
+	if (dblayer_db_uses_logging(db_env))
 	{
 		DB_LOG_STAT *logstat = NULL;
 		ret = LOG_STAT(db_env,&logstat,0,malloc);
@@ -307,7 +307,7 @@
 		}
 		free(logstat);
 	}
-	if (DB_USES_TRANSACTIONS(db_env))
+	if (dblayer_db_uses_transactions(db_env))
 	{
 		DB_TXN_STAT *txnstat = NULL;
 		ret = TXN_STAT(db_env, &txnstat, 0, malloc);
@@ -320,7 +320,7 @@
 		if (txnstat)
 			free(txnstat);
 	}
-	if (DB_USES_LOCKING(db_env))
+	if (dblayer_db_uses_locking(db_env))
 	{
 		DB_LOCK_STAT *lockstat = NULL;
 		ret = LOCK_STAT(db_env,&lockstat,0,malloc);
@@ -338,7 +338,7 @@
 		}
 		free(lockstat);
 	}
-	if (DB_USES_MPOOL(db_env))
+	if (dblayer_db_uses_mpool(db_env))
 	{
 		DB_MPOOL_STAT	*mpstat = NULL;
 		ret = MEMP_STAT(db_env,&mpstat,NULL,0,malloc);


Index: proto-back-ldbm.h
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/proto-back-ldbm.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- proto-back-ldbm.h	2 Oct 2007 18:39:51 -0000	1.14
+++ proto-back-ldbm.h	9 Oct 2008 17:40:14 -0000	1.15
@@ -166,6 +166,10 @@
                                 char *buf, int buflen);
 void autosize_import_cache(struct ldbminfo *li);
 
+int dblayer_db_uses_locking(DB_ENV *db_env);
+int dblayer_db_uses_transactions(DB_ENV *db_env);
+int dblayer_db_uses_mpool(DB_ENV *db_env);
+int dblayer_db_uses_logging(DB_ENV *db_env);
 
 /*
  * dn2entry.c




More information about the Fedora-directory-commits mailing list