Author: nhosoi
Update of /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19558
Modified Files:
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.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- dblayer.c 13 Jan 2006 19:31:11 -0000 1.10
+++ dblayer.c 18 Apr 2006 18:25:02 -0000 1.11
@@ -3830,6 +3830,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 */
@@ -3838,12 +3842,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 */);
@@ -3877,10 +3879,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);
Show replies by thread