summaryrefslogtreecommitdiff
path: root/source3/tdb
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r21722: Add the dead record functionality presented on ↵Volker Lendecke4-6/+187
samba-technical@samba.org. If you do a tdb_set_max_dead(tdb, n), then for this tdb a delete operation will only mark a record as dead and re-use it if a new record is created. The parameter n allows for at most n dead records per hash chain. If this number is exceeded, all dead records are put on the central freelist. Volker (This used to be commit 97af3a019b196d530a50ffc05c57568e2dbda4bb)
2007-10-10r21445: Apply tdb_parse_record Tridges error return, merge to 3_0_25 and 4_0Volker Lendecke1-9/+2
(This used to be commit c852d9b56971673fc62eec3460720478d81c279d)
2007-10-10r21444: Check in tdb_parse_record. Not merging to the other branches yet, we ↵Volker Lendecke4-13/+101
need to agree on the behaviour of non-existing records. Tridge, can you comment? Should we change tdb_fetch, or should we have different concepts in tdb_fetch() and tdb_parse_record() ? Volker (This used to be commit fba79e75c0138c3ae4e73014a1d1a2c2045c35bb)
2007-10-10r21412: The last patch also incremented the seqnum when tdb_store failed. ↵Volker Lendecke1-8/+10
Not as bad as not doing it at all, but needs fixing. Also simplify the logic, I had missed the "goto out" at the end of the function. Volker (This used to be commit 101789946130d51f3092d19f081071bdb5e43c21)
2007-10-10r21410: We have to increment the sequence number also when tdb_update_hash()Volker Lendecke1-1/+1
succeeded. Found while testing the brlock seqnum patch. Tridge, please check! Volker (This used to be commit 815f2b19409dc015bb2a04b16224a7ac8071a991)
2007-10-10r21303: As discussed on samba-technical: Change the static array for the ↵Volker Lendecke4-36/+96
in-memory mirrors of the hash chain locks to a dynamically allocated one. Jeremy, I count on you to revert it if the build farm freaks out, it's after midnight here :-) Volker (This used to be commit c50f099be1fcae2d533e1c3816cb25c315ba167a)
2007-10-10r21218: Fix typoVolker Lendecke1-1/+1
(This used to be commit 5b25ce30022b5968717691223d065a8e0770c6e3)
2007-10-10r20503: And one more 64-bit warningVolker Lendecke1-1/+1
(This used to be commit 7bcde1069e38d70808d78c408f16821a0bfadcdd)
2007-10-10r20498: Two 64-bit warningsVolker Lendecke1-2/+4
(This used to be commit 382827ebac61646ec31fe1d56ccde2ea337e8f9e)
2007-10-10r20269: merge -r20264:20267 from SAMBA_3_0_24Herb Lewis1-0/+3
more no previous prototype warnings (This used to be commit 41be182f78762372ae13759ede5d2bd40a71d7f5)
2007-10-10r20063: Fix a missing protoype warning in freelistcheck.cVolker Lendecke1-0/+2
(This used to be commit 2fdfc54e7eebc68c81ad5f3fa8d0607bd3b579c5)
2007-10-10r19992: Add support to the tdb Makefile.in for executable extensions and forPaul Green1-15/+23
separately specifying CPPFLAGS and LDFLAGS. (This used to be commit 8c36f1a7458e7cf29c9ec647e98d0a1e2d32d239)
2007-10-10r19959: Allow tdb to be built standalone in Samba3.Jeremy Allison7-6/+141
Add code to check for loops in the free list. Should help us validate tdb's against corruption. Jeremy. (This used to be commit f8e7386773cbbb31e2f42ffcbae9b979c1197635)
2007-10-10r19823: "log" is an internal define in older versions of gcc.Jeremy Allison3-4/+4
Rename to log_ctx. Jeremy. (This used to be commit dbf0e58a1e7fa77ce0338104cf71c7a81214884b)
2007-10-10r19685: Two changes inspired by problems with huge tdbs. tdbtool's list ↵Volker Lendecke4-10/+19
command now prints the hash on every record for easier awk'ing, and tdbbackup allows a different hash chain length on the backed up tdb. Jeremy, Günther, this might be interesting for you huge domains. Not only locking.tdb, also the winbind ones might grow huge. In the installation I fixed with this winbind spent a huge amount of CPU spinning through a degenerated winbindd_idmap.tdb with entries for more than 15.000 users. With a default number of hash chains of 131 on that tdb you can imagine that the lists get large. Not merging to 4, I don't get tdbbackup to compile there right now. What about changing the global default hash chain number to be dramatically larger? Disk is cheap these days. Volker (This used to be commit 577d0ff658596f8246f120e0342cc5c9e4077ece)
2007-10-10r19429: moved tdb/common/tdbutil.c into lib/util_tdb.cAndrew Tridgell2-882/+0
see discussion on samba-technical (This used to be commit 1ad563286f00be0d72930b81b10cb74f13c5fbff)
2007-10-10r19426: merge nearly all the differences between Samba3 tdb and Samba4Andrew Tridgell17-406/+558
tdb. This includes: - the new tdb_lockall and tdb_lockall_read code, which will be needed for the ldb speedups - the tdb logging changes. This is an intermediate step to keep the differences between the two branches small. The plan is still to move to a tdb_init()/tdb_set_logging_function()/tdb_attach() style of open which will make things much cleaner. - the updated test suites and standalone tdb build code - use libreplace headers There are still some small differences I haven't merged. I'll discuss those on the list. (This used to be commit 48903c75edfaf75dbd3e9d052e615552cdff39b4)
2007-10-10r18745: Use the Samba4 data structures for security descriptors and security ↵Jelmer Vernooij1-3/+3
descriptor buffers. Make security access masks simply a uint32 rather than a structure with a uint32 in it. (This used to be commit b41c52b9db5fc4a553b20a7a5a051a4afced9366)
2007-10-10r18731: fix the build on aixStefan Metzmacher1-0/+5
metze (This used to be commit ff88592426b851295604717b4fe52290504fc543)
2007-10-10r18605: sync dlinklist.h with samba4, that means DLIST_ADD_END()Stefan Metzmacher1-2/+1
and DLIST_DEMOTE() now take the type of the tmp pointer not the tmp pointer itself anymore. metze (This used to be commit 2f58645b7094e81dff3734f11aa183ea2ab53d2d)
2007-10-10r18030: When compiling with C++, nested structs lead to nested class ↵Volker Lendecke1-6/+7
definitions which are not compatible. I am aware that this would be a huge change in Samba4, but I would like to see it in the code that is shared. Stefan, when you do merge work, can you get this across to Samba4? Thanks, Volker (This used to be commit 959ea2c7dc3ab42a06ac74dc4767d7d06e525cbc)
2007-10-10r17607: Adapt the Samba4 directory structure for tdb. Makes it easier to diff.Volker Lendecke33-34/+617
Let's see what it breaks. For me it works :-) Volker (This used to be commit 337be14b432e5dfd80c7418b2db4fe0087259b77)
2007-10-10r17554: CleanupVolker Lendecke2-6/+8
(This used to be commit 761cbd52f0cff6b864c506ec03c94039b6101ef9)
2007-10-10r17460: First step at fixing the build breakage with the groupmapping test. ↵Volker Lendecke1-0/+1
On Linux, F_RDLCK is defined to 0, for example NetBSD has it at 1. Still does not work fully though. Still investigating. This might also be interesting to Samba4. Volker (This used to be commit a1c3774e01710ae0edc89e05f7781d2928ea9319)
2007-10-10r17425: Add the multi-key wrapper. If it's necessary to add general blobs as ↵Volker Lendecke2-8/+6
keys, this can trivially be added later. Volker (This used to be commit 6915adb9780052952e4a1d9e1c3e6cac06f48463)
2007-10-10r17315: Make talloc and tdb C++-warning-free. Would this also be interesting ↵Volker Lendecke6-18/+24
in talloc and tdb "upstream"? Volker (This used to be commit 68c43191c8aa4faa9801e0ab084a216ceaf4379d)
2007-10-10r17030: Partially fix standalone build of tdb directoryJeremy Allison2-2/+1
(tdbtool still fails). Jeremy. (This used to be commit 50dbb66d73c8c25755e675876dd55000ca8bfd12)
2007-10-10r16945: Sync trunk -> 3.0 for 3.0.24 code. Still needJeremy Allison16-2578/+3553
to do the upper layer directories but this is what everyone is waiting for.... Jeremy. (This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10r15508: Use clock_gettime for profiling timstamps if it is available. UseJames Peach1-17/+0
the fastest clock available on uniprocessors. (This used to be commit d44862928206b524f826bd7c2997ab5353c0b6a0)
2007-10-10r15448: New autoconf macro to test for sysconf variables.James Peach1-1/+9
(This used to be commit a19d4f2bb4aa94ab40e371efbad9f17e38e3bbc4)
2007-10-10r15104: Implement Samba4's tdb_name().Volker Lendecke1-0/+8
Volker (This used to be commit d52002c1c9d28e637ca4d1553e800b0b97790f36)
2007-10-10r15101: Little step towards getting Samba4 tdb into 3: tdb_lock_bystring ↵Volker Lendecke1-5/+13
does not have the timeout argument in Samba4. Add a new routine tdb_lock_bystring_with_timeout. Volker (This used to be commit b9c6e3f55602fa505859a4b2cd137b74105d685f)
2007-10-10r14954: Fix #3569 based on William Jojo's work. AIX alsoJeremy Allison3-4/+20
has the linear posix locking issue which causes CLEAR_IF_FIRST to cause performance problems. As we know we're in a daemon architecture with long-lived parent we can avoid this in the Samba case. Add a comment explaining this. Jeremy. (This used to be commit 3cd5c3df0d1b98dfa90663973ab13b5d3dbf737e)
2007-10-10r14030: Fix resource leak in error codepath. Coverity CID #64.Jeremy Allison1-2/+6
Jeremy. (This used to be commit b51edde4d63e9b2f241f41b6780b026487890a7f)
2007-10-10r14026: Fix resource leak on error exit. Coverity CID #65.Jeremy Allison1-0/+2
Jeremy. (This used to be commit 3a1c4cb93dc262028ffbebd9ebeed69f4816cf09)
2007-10-10r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison1-4/+7
realloc can return NULL in one of two cases - (1) the realloc failed, (2) realloc succeeded but the new size requested was zero, in which case this is identical to a free() call. The error paths dealing with these two cases should be different, but mostly weren't. Secondly the standard idiom for dealing with realloc when you know the new size is non-zero is the following : tmp = realloc(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } However, there were *many* *many* places in Samba where we were using the old (broken) idiom of : p = realloc(p, size) if (!p) { return error; } which will leak the memory pointed to by p on realloc fail. This commit (hopefully) fixes all these cases by moving to a standard idiom of : p = SMB_REALLOC(p, size) if (!p) { return error; } Where if the realloc returns null due to the realloc failing or size == 0 we *guarentee* that the storage pointed to by p has been freed. This allows me to remove a lot of code that was dealing with the standard (more verbose) method that required a tmp pointer. This is almost always what you want. When a realloc fails you never usually want the old memory, you want to free it and get into your error processing asap. For the 11 remaining cases where we really do need to keep the old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR, which can be used as follows : tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the pointer p, even on size == 0 or realloc fail. All this is done by a hidden extra argument to Realloc(), BOOL free_old_on_error which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR macros (and their array counterparts). It remains to be seen what this will do to our Coverity bug count :-). Jeremy. (This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
2007-10-10r13792: Merged Simo's fixes for tdbtraverse.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 9ed3bd431c8b8073e177df463e254cf45529bed6)
2007-10-10r13197: Add -k switch to dump the data of a single key.Lars Müller1-5/+41
(This used to be commit 23503ff45f2a377728bc5ebb1e6db2755bb5ca2b)
2007-10-10r12760: Fix bug 3384Volker Lendecke1-0/+30
(This used to be commit 9d366da172a13fe9fd6e940f95d58dac534f3b31)
2007-10-10r12713: Remove use of uint8_t -> uint8.Jeremy Allison1-3/+3
Jeremy. (This used to be commit 4473ac4ef9c86574fc49b1e67089b59b14b6d10d)
2007-10-10r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4Jeremy Allison3-4/+4
x86_64 box. Jeremy. (This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10r10656: BIG merge from trunk. Features not copied overGerald Carter3-9/+14
* \PIPE\unixinfo * winbindd's {group,alias}membership new functions * winbindd's lookupsids() functionality * swat (trunk changes to be reverted as per discussion with Deryck) (This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10r10355: Merge back the clear-if-first fix from Samba4. Couldn't wait tridge, ↵Jeremy Allison1-6/+5
sorry :-). Jeremy. (This used to be commit b1722b7bd1eaabb725218a4fc5c8b012f0a1a0af)
2007-10-10r9852: Add tridge's Samba4 tdb optimisations.Jeremy Allison1-0/+48
Jeremy. (This used to be commit cfe5a7e5f8eccecf8876c36ddeb0f6e91eb6aac4)
2007-10-10r9738: Adapt tdb_torture to the new CLEAR_IF_FIRST semantics. We need one parentVolker Lendecke1-33/+33
process holding the active if two cluster nodes access the same tdb. Volker (This used to be commit cbc66cc3cab0e1db31402505214c83e1be92663b)
2007-10-10r9095: Add crude chainlength statistics to the crude tdbtool.Volker Lendecke1-0/+4
Volker (This used to be commit 5e6fef32b372e20cb570c578e2044e89f9ee45b3)
2007-10-10r8595: Delete unused prototypes.Tim Potter1-2/+0
(This used to be commit c525c276c3bebd97f2c86684bd248ed00e889349)
2007-10-10r7882: Looks like a large patch - but what it actually does is make SambaJeremy Allison1-2/+2
safe for using our headers and linking with C++ modules. Stops us from using C++ reserved keywords in our code. Jeremy (This used to be commit 9506b8e145982b1160a2f0aee5c9b7a54980940a)
2007-10-10r7640: Fix based on work from "Shlomi Yaakobovich" <Shlomi@exanet.com> to catchJeremy Allison1-6/+7
loops in corrupted tdb files. Jeremy. (This used to be commit b438cb0a85217c978f1d7cb9f2a4fd97f38a3193)
2007-10-10r7139: trying to reduce the number of diffs between trunk and 3.0; changing ↵Gerald Carter2-8/+45
version to 3.0.20pre1 (This used to be commit 9727d05241574042dd3aa8844ae5c701d22e2da1)