From f857f30236b1143be930ec56f233846d867bd3bd Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 3 Mar 2016 15:59:05 +0100 Subject: lib: skip deleted entries in gencache_iterate "net cache flush" can give nasty error messages like Couldn't delete entry! key = IDMAP/UID2SID/12345 These happen when there's an already deleted entry in gencache_notrans.tdb, indicated by a 0 timeout. This happens if two gencache_del function calls have happened right after the other and a gencache_stabilize has not wiped them. In gencache_iterate, don't show these deleted entries Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- source3/lib/gencache.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source3/lib/gencache.c') diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c index c353aa65e8e..29fadecd740 100644 --- a/source3/lib/gencache.c +++ b/source3/lib/gencache.c @@ -894,6 +894,11 @@ static int gencache_iterate_blobs_fn(struct tdb_context *tdb, TDB_DATA key, } endptr += 1; + if (timeout == 0) { + /* delete marker */ + goto done; + } + if (fnmatch(state->pattern, keystr, 0) != 0) { goto done; } -- cgit v1.2.1