[Fedora-directory-commits] ldapserver/ldap/servers/slapd/back-ldbm dblayer.c, 1.8, 1.8.2.1

Noriko Hosoi (nhosoi) fedora-directory-commits at redhat.com
Tue Apr 18 18:20:35 UTC 2006


Author: nhosoi

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

Modified Files:
      Tag: Directory71RtmBranch
	dblayer.c 
Log Message:
[189264] 6.11->6.21 upgrade, no db housekeeping threads
The problem was check_db_version finds the existing DBVERSION is old and set
dblayer_private->blayer_recovery_required = 1.    If it's set,
DBLAYER_CLEAN_RECOVER_MODE is processed properly.  Unfortunately, it was
"reinitialized" in the function read_metadata, which is called after
check_db_version.



Index: dblayer.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/dblayer.c,v
retrieving revision 1.8
retrieving revision 1.8.2.1
diff -u -r1.8 -r1.8.2.1
--- dblayer.c	25 Apr 2005 16:24:23 -0000	1.8
+++ dblayer.c	18 Apr 2006 18:20:33 -0000	1.8.2.1
@@ -3833,6 +3833,10 @@
     int number = 0;
     dblayer_private *priv = (dblayer_private *)li->li_dblayer_private;
 
+    /* dblayer_recovery_required is initialized in dblayer_init;
+     * and might be set 1 in check_db_version;
+     * we don't want to override it
+     * priv->dblayer_recovery_required = 0; */
     priv->dblayer_previous_cachesize = 0;
     priv->dblayer_previous_ncache = 0;
     /* Open the guard file and read stuff, then delete it */
@@ -3841,12 +3845,10 @@
     memset(&prfinfo, '\0', sizeof(PRFileInfo));
     (void)PR_GetFileInfo(filename, &prfinfo);
 
-    priv->dblayer_recovery_required = 0;
     prfd = PR_Open(filename,PR_RDONLY,priv->dblayer_file_mode);
     if (NULL == prfd || 0 == prfinfo.size) {
         /* file empty or not present--means the database needs recovered */
         int count = 0;
-        priv->dblayer_recovery_required = 0;
         for (dirp = priv->dblayer_data_directories; dirp && *dirp; dirp++)
         {
             count_dbfiles_in_dir(*dirp, &count, 1 /* recurse */);
@@ -3880,10 +3882,6 @@
         }
         return 0; /* no files found; no need to run recover start */
     }
-    /* dblayer_recovery_required is initialized in dblayer_init;
-     * and might be set 1 in check_db_version;
-     * we don't want to override it
-     * priv->dblayer_recovery_required = 0; */
     /* So, we opened the file, now let's read the cache size and version stuff
      */
     buf = slapi_ch_calloc(1, prfinfo.size + 1);




More information about the Fedora-directory-commits mailing list