Günther Deschner
0e771263ee
s3-includes: only include system/filesys.h when needed.
...
Guenther
2011-03-30 01:13:07 +02:00
Günther Deschner
739ca0e7db
s3-includes: only include system/glob.h when needed.
...
Guenther
2011-03-30 01:13:06 +02:00
Stefan Metzmacher
d9be7e9368
s3:lib/gencache: fix memory leak in error path
...
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Dec 22 15:08:30 CET 2010 on sn-devel-104
2010-12-22 15:08:30 +01:00
Volker Lendecke
1a91fe90b6
s3: Add gencache_iterate_blobs
2010-11-28 14:19:19 +01:00
Volker Lendecke
62afdb9cc0
s3: Convert gencache_get_data_blob to gencache_parse
2010-11-28 14:19:19 +01:00
Volker Lendecke
9843103b7d
s3: Add gencache_parse
2010-11-28 14:19:19 +01:00
Jeremy Allison
f98d217514
Change to using TDB_INCOMPATIBLE_HASH (the jenkins hash) on all
...
TDB_CLEAR_IF_FIRST tdb's. For tdb's like gencache where we open
without CLEAR_IF_FIRST and then with CLEAR_IF_FIRST if corrupt
this is still safe to use as if opening an existing tdb the new
hash will be ignored - it's only used on creating a new tdb not
opening an old one.
Jeremy.
2010-09-27 17:18:54 -07:00
Volker Lendecke
4d8a974ddc
s3: Use tdb_transaction_start_nonblock in gencache_stabilize
...
This avoids the thundering herd problem when 5000 smbds exit simultaneously
because the network went down.
2010-03-28 15:25:15 +02:00
Volker Lendecke
d5fd1f2077
Revert "s3: Optimize gencache for smbd exit"
...
This reverts commit 5ca63676dc59e83ffd9560fdcfa26063f267f283.
That does not fully fix the problem, adding a tdb_transaction_start_nonblock to fix it.
2010-03-28 15:25:15 +02:00
Volker Lendecke
fbdcaa929c
s3: Optimize gencache for smbd exit
...
If thousands of smbds try to gencache_stabilize at the same time because the
network died, all of them might be sitting in transaction_start. Don't do the
stabilize transaction if nothing has changed in gencache_notrans.tdb.
Volker
2010-03-24 08:57:29 +01:00
Stefan Metzmacher
909cd2617f
s3: let gencache_init() use tdb_check()
...
If the check fails we try to clear the tdb and start
with an empty cache.
metze
2009-12-07 19:57:01 +01:00
Günther Deschner
f35a1b95aa
s3-gencache: restore gencache_get behavior with NULL args (with torture test).
...
Without this, we panic in wins_srv_is_dead() and fail to start nmbd with
wins support.
Volker, please check.
Guenther
2009-11-02 13:04:26 +01:00
Volker Lendecke
2185490176
s3:gencache: Add my copyright
2009-09-28 19:47:19 +02:00
Volker Lendecke
cd749ef8bd
s3:gencache: Make gencache_del() return success for expired entries
...
This fixes nasty error messages from "net cache flush"
2009-09-23 18:50:33 +02:00
Volker Lendecke
aece84f22d
s3:gencache: Remove some over-paranoid locking
2009-09-23 18:50:33 +02:00
Volker Lendecke
76d95b9a2d
s3:gencache: Add a "was_expired" argument to gencache_get_data_blob
...
This is set to true if the routine returns failure due to an existing but
expired entry.
2009-09-23 18:50:33 +02:00
Volker Lendecke
76705d10c6
Consolidate gencache also every 100 writes in a single process
2009-07-15 10:55:20 +02:00
Volker Lendecke
3d7dfc1197
Consolidate string and data_blob routines in gencache
2009-07-15 10:55:20 +02:00
Volker Lendecke
8a17cd810f
Make gencache more stable
...
This provides a compromise between stability and performance: gencache is a
persistent database these days that for performance reasons can not use tdb
transactions for all writes. This patch splits up gencache into gencache.tdb
and gencache_notrans.tdb. gencache_notrans is used with CLEAR_IF_FIRST, writes
to it don't use transactions. By default every 5 minutes and when a program
exits, all entries from _notrans.tdb are transferred to gencache.tdb in one
transaction.
2009-07-15 10:55:20 +02:00
Volker Lendecke
3edcd55bf1
Remove gencache_init/shutdown
...
gencache_get/set/del/iterate call gencache_init() internally anyway. And we've
been very lazy calling gencache_shutdown, so this seems not really required.
2009-07-15 10:55:20 +02:00
Volker Lendecke
e5a34b2533
Remove gencache_[un]lock_key
2009-07-15 10:55:20 +02:00
Volker Lendecke
3e965d017d
TDB_CONTEXT -> "struct tdb_context"
2009-07-15 10:55:19 +02:00
Volker Lendecke
565046891f
Replace ASSERTs in gencache with "return false"
...
It's a bit strong to panic here I think.
2009-07-15 10:55:19 +02:00
Volker Lendecke
eaec865148
simplify gencache_iterate a bit, fix nonempty blank lines
2009-01-19 00:05:56 +01:00
Volker Lendecke
cc78ea5d09
Revert "Return timed out entries from gencache_get if timeout param != NULL"
...
This reverts commit 2954b2be56
.
(This used to be commit 77ab2fb306
)
2008-07-11 17:53:25 +02:00
Volker Lendecke
d670d0a09b
Revert "Remove gencache_[un]lock_entry"
...
This reverts commit 7a5a575ffe
.
(This used to be commit 62e444dd50
)
2008-07-11 17:53:25 +02:00
Volker Lendecke
352b5c1857
Remove gencache_[un]lock_entry
...
Günther agreed that it might be unnecessary in dsgetdcname_cache_store() :-)
(This used to be commit 7a5a575ffe
)
2008-07-03 16:40:46 +02:00
Volker Lendecke
c4503f5658
Return timed out entries from gencache_get if timeout param != NULL
...
net cache get was the only one interested in the timeout. That single caller
can take care of the timeout itself then.
With this API change idmap_cache.c can be converted to gencache.
(This used to be commit 2954b2be56
)
2008-07-03 15:59:19 +02:00
Günther Deschner
077f24e51e
gencache: add some const.
...
Guenther
(This used to be commit ec9f8c4cf6
)
2008-05-08 01:10:54 +02:00
Volker Lendecke
3176392878
Fix some warnings
...
warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result
(This used to be commit ad37b7b0ae
)
2008-02-25 16:09:26 +01:00
Volker Lendecke
3ba59d4616
don't store cache_readonly in gencache
...
tdb won't allow us to write anyway
(This used to be commit 069cd6d63a
)
2007-12-28 17:09:57 +01:00
Jeremy Allison
30191d1a57
RIP BOOL. Convert BOOL -> bool. I found a few interesting
...
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3c
)
2007-10-18 17:40:25 -07:00
Günther Deschner
2af9637925
r24733: Add support for storing DATA_BLOBs in gencache.tdb (including torturetest).
...
Mimir, please have a look. DATA_BLOBs will now just show up as "DATA_BLOB"
values with "net cache list".
Guenther
(This used to be commit b8ad546d04
)
2007-10-10 12:30:15 -05:00
Andrew Tridgell
5e54558c6d
r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
...
(This used to be commit b0132e94fc
)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80
r23779: Change from v2 or later to v3 or later.
...
Jeremy.
(This used to be commit 407e6e695b
)
2007-10-10 12:28:20 -05:00
Stefan Metzmacher
bc2b6436d0
r22009: change TDB_DATA from char * to unsigned char *
...
and fix all compiler warnings in the users
metze
(This used to be commit 3a28443079
)
2007-10-10 12:19:00 -05:00
Stefan Metzmacher
8960af9558
r21976: make use of tdb_*_bystring() and string_term_tdb_data() in lib/
...
to avoid creating the TDB_DATA struct from strings "by hand"
metze
(This used to be commit c22b86595a
)
2007-10-10 12:18:54 -05:00
Günther Deschner
1e86361080
r19415: oh la la, always compile before commit, I'm very sorry.
...
Guenther
(This used to be commit bdd2e0361c
)
2007-10-10 12:15:33 -05:00
Günther Deschner
9034063617
r19414: gencache is getting really important now, make sure that lp_lockdir
...
always exists so that the gencache.tdb can get created there.
Guenther
(This used to be commit e5ed286125
)
2007-10-10 12:15:33 -05:00
Jeremy Allison
b96aae779b
r19054: Callers of gencache may not have the rights to
...
open read/write. Allow them to fallback to read-only.
Jeremy
(This used to be commit ec526e1b88
)
2007-10-10 12:15:06 -05:00
Volker Lendecke
eab60e2bb1
r18312: Change gencache_get slightly: Delete expired keys, and only strdup the value
...
if a valid entry was found. The newer calls got the latter one wrong, change
the older calls.
Volker
(This used to be commit 554e68887b
)
2007-10-10 11:51:19 -05:00
Volker Lendecke
cfefd8fd78
r18311: Simplify gencache_get by using strtol instead of sscanf
...
(This used to be commit f6497adac6
)
2007-10-10 11:51:19 -05:00
Volker Lendecke
96c72e2f81
r18310: Add a little test for some gencache routines
...
Remove unused gencache_set_only
Use CONST_DISCARD instead of SMB_STRDUP
Volker
(This used to be commit 651e7e44e2
)
2007-10-10 11:51:19 -05:00
Jeremy Allison
2abab7ee6d
r17928: Implement the basic store for CLDAP sitename
...
support when looking up DC's. On every CLDAP
call store the returned client sitename (if
present, delete store if not) in gencache with
infinate timeout. On AD DNS DC lookup, try looking
for sitename DC's first, only try generic if
sitename DNS lookup failed.
I still haven't figured out yet how to ensure
we fetch the sitename with a CLDAP query before
doing the generic DC list lookup. This code is
difficult to understand. I'll do some experiments
and backtraces tomorrow to try and work out where
to force a CLDAP site query first.
Jeremy.
(This used to be commit ab3f0c5b1e
)
2007-10-10 11:38:59 -05:00
Volker Lendecke
1cf1e648fe
r17334: Some C++ warnings
...
(This used to be commit 8ae7ed1f3c
)
2007-10-10 11:38:26 -05:00
Volker Lendecke
366a2d498d
r16290: Fix Coverity bugs 298 and 298
...
(This used to be commit b96808bb62
)
2007-10-10 11:17:31 -05:00
Jeremy Allison
835bfbb8ac
r16267: Fix Klocwork #401 , #402 - ensure format specifier
...
limited. Fix memleak in printing gencache contents.
Jeremy.
(This used to be commit 81731e1f68
)
2007-10-10 11:17:28 -05:00
Volker Lendecke
e17302200c
r15101: Little step towards getting Samba4 tdb into 3: tdb_lock_bystring does not
...
have the timeout argument in Samba4. Add a new routine
tdb_lock_bystring_with_timeout.
Volker
(This used to be commit b9c6e3f556
)
2007-10-10 11:16:23 -05:00
Gerald Carter
855e02f164
r13310: first round of server affinity patches for winbindd & net ads join
...
(This used to be commit 6c3480f9ae
)
2007-10-10 11:06:23 -05:00
Gerald Carter
aa363846d6
r12912: patch from Tony Mountifield <tony@softins.co.uk> for BUG 3327 (fix bad access to gencache.tdb after fork() in smbmount
...
(This used to be commit 68399ce04c
)
2007-10-10 11:06:06 -05:00