[Fedora-directory-commits] ldapserver/ldap/servers/slapd/back-ldbm cache.c, 1.9, 1.10

Noriko Hosoi nhosoi at fedoraproject.org
Fri Feb 13 00:16:35 UTC 2009


Author: nhosoi

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

Modified Files:
	cache.c 
Log Message:
Resolves: #485321
Summary: Entry cache: invalid counter usage
Description: if new entry size is larger than old size, the delta is added to
the cache size using slapi_counter_add; otherwise, the delta is subtracted from
the cache size using slapi_counter_subtract.



Index: cache.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/cache.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- cache.c	12 Dec 2008 21:09:31 -0000	1.9
+++ cache.c	13 Feb 2009 00:16:32 -0000	1.10
@@ -865,7 +865,11 @@
     /* adjust cache meta info */
     newe->ep_refcnt = 1;
     newe->size = cache_entry_size(newe);
-    slapi_counter_add(cache->c_cursize, newe->size - olde->size);
+    if (newe->size > olde->size) {
+        slapi_counter_add(cache->c_cursize, newe->size - olde->size);
+    } else if (newe->size < olde->size) {
+        slapi_counter_subtract(cache->c_cursize, olde->size - newe->size);
+    }
     olde->ep_state = ENTRY_STATE_DELETED;
     newe->ep_state = 0;
     PR_Unlock(cache->c_mutex);




More information about the Fedora-directory-commits mailing list