summaryrefslogtreecommitdiffstats
path: root/source3/tdb/tdb.c
Commit message (Collapse)AuthorAgeFilesLines
* Don't log an error in tdb_brlock() if a non-blocking lock returns EAGAIN -Tim Potter2004-02-011-4/+8
| | | | | it's supposed to do that. (This used to be commit 2423a459471136d701b498ff0db797c70c6d0fce)
* In tdb_allocate(), we would create a new record by writing a local variableAndrew Bartlett2004-01-081-0/+2
| | | | | | | | | | | 'newrec' into the tdb. This was not initialised, so valgrind warned about it. (Note: valgrind only makes sense on tdbs with 'mmap = no' in your smb.conf) Andrew Bartlett (This used to be commit c9f9d6d3171d720b4ec0ba6af8c0c8ab178cd98b)
* Add some debugs in the error paths for tdb_brlock() to help track downTim Potter2003-10-241-1/+6
| | | | | a locking problem on HPUX. (This used to be commit 2d03d81f753fd819086d24a92eec5503f70246a0)
* fixed spinlocks in tdbAndrew Tridgell2003-10-181-2/+4
| | | | | I still wouldn't recommend them, but at least they now work (This used to be commit 76992e7d1655ed15d61254f2be651db020ec4f5e)
* Change some internal interfaces to cause the hash (which is *expensive*)Jeremy Allison2003-09-061-18/+31
| | | | | | to be calculated less often. No change to external interface. Jeremy. (This used to be commit 155c9ce6663df9963c7563adf78a232d3650b7b5)
* fixed a bug found by volkerAndrew Tridgell2003-06-201-1/+2
| | | | | | when we are traversing a readonly dababase we should not try to cleanup the pending-delete records (This used to be commit f327c06108cd1a9146f4c24aa4274997be0b4fb4)
* Comment syncup.Tim Potter2003-04-141-0/+21
| | | | (This used to be commit 72e7290daa0e9765aab846a5312fc20d18a55a76)
* Merge of tdb_unlockeys() crash fix.Tim Potter2003-03-131-0/+2
| | | | (This used to be commit 0eee7a4b1ea437b5f1376fc9c7063b117f5027c6)
* When opening an existing DB, don't require the hash_size specified toMartin Pool2003-03-111-2/+1
| | | | | | | | | the open call to be the same as that of the existing tdb. The specified hash_size is only used if the tdb needs to be (re)created. With this patch in place, tdbtool can open the printing tdbs, which are created with a hash_size of 5000. Before it would fail with EIO. (This used to be commit 7090d9f6939b3c6334fba40b0741f8f899aba31a)
* Ensure tdb error code is set for corrupt and i/o errors before callingJeremy Allison2003-02-201-1/+24
| | | | | | the log function. This allows the log function to take action. Jeremy. (This used to be commit fcaacb5fabdf78dd6b6a7fe5ff5300d9e2ff8d75)
* Ensure we overwrite a tdb if the hash size changes.Jeremy Allison2003-02-041-1/+2
| | | | | Jeremy. (This used to be commit b300696cb5c65ab239caa257987628f8e18c8761)
* Added tdb_append() call. Efficiently adds to an entry. Used by new messagingJeremy Allison2003-01-111-12/+137
| | | | | | code. Also added torture tests for it. Jeremy. (This used to be commit 724cefabb03a3db8b5d3691974241d3109593c27)
* Add chainlock_read functions to get a read lock. Used in *massively*Jeremy Allison2002-11-091-1/+11
| | | | | | contended tdb's (and I've got one :-). Jeremy. (This used to be commit d4b795e6a451d9abaa4a928cf5d34e12b2babc2d)
* Merge of scalable printing code fix... Needs testing.Jeremy Allison2002-11-071-1/+2
| | | | | Jeremy. (This used to be commit d030df76439c72825d68410211e62090438cef54)
* Add a timeout to tdb_lock_bystring(). Ensure we never have more thanJeremy Allison2002-10-041-0/+4
| | | | | | MAX_PRINT_JOBS in a queue. Jeremy. (This used to be commit 9fe3c0b90d4bff2217e3cb5a34b4683ca314c06e)
* Make explicit the difference between a tdb key with no data attached, andJeremy Allison2002-09-261-2/+11
| | | | | | a non existent entry. Stop a malloc(0) being called in the first case. Jeremy. (This used to be commit 7b841247bda028ce654fb760b932f08ec61c494c)
* sync'ing up for 3.0alpha20 releaseGerald Carter2002-09-251-0/+18
| | | | (This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139)
* updated the 3.0 branch from the head branch - ready for alpha18Andrew Tridgell2002-07-151-2/+24
| | | | (This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
* Added Shirish's client side caching policy change.Jeremy Allison2002-04-101-1/+2
| | | | | Jeremy. (This used to be commit 16015c07eab2e57fa3771051e3e08fde21757cfa)
* better check of called function's returnSimo Sorce2002-04-071-57/+125
| | | | | tdbtorture say it's ok (This used to be commit af0fa4cf7c229fb908063bfcc3cbb214dae5ed0e)
* Various comment fixes from Rafal Szczesniak <mimir@diament.ists.pwr.wroc.pl>Andrew Bartlett2002-03-011-1/+1
| | | | (This used to be commit 3bf4b42771d115500941be374bfdd9b8c2fdba4a)
* Memory leak on error condition fixed by Kian Win <codegrunt@rubbercookie.com>.Jeremy Allison2002-02-271-0/+1
| | | | | Jeremy. (This used to be commit 9dae1398b45515e5b93de038ec18df297d73026d)
* Removed version number from file header.Tim Potter2002-01-301-2/+1
| | | | | Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
* Raise log level of warning produced when the open() of the tdb fails.Tim Potter2002-01-221-1/+1
| | | | | Sometimes an open error is OK. (This used to be commit 5fb3be62910faf91e0e8381ba91f314f2092cb8e)
* Move SAFE_FREE into tdb.c to stop exporting it into tdb.h namespace.Jeremy Allison2002-01-091-0/+5
| | | | | Jeremy. (This used to be commit 4f703b84cd7f258ae0169d52ca761b9404ccb348)
* debug statement fixups.Jeremy Allison2002-01-021-31/+21
| | | | | | Merge SAFE_FREE fix in tdb from 2.2, and IRIX fix. Jeremy. (This used to be commit eb6607466565bcd5b3800492d0bc1ae8a44da4f6)
* more irix -64 portability fixesAndrew Tridgell2001-12-311-1/+2
| | | | (This used to be commit 65e857b36e170e3ecd78bf6695ae73342e9c04cd)
* Must check against -1 for fcntl error check.Jeremy Allison2001-12-131-4/+4
| | | | | Jeremy (This used to be commit 1d2504b5c76bf23ac49a401adce8a49f193bc22c)
* Fix up warnings. Make tdb_openXX() names const.Jeremy Allison2001-12-111-2/+2
| | | | | Jeremy. (This used to be commit 9e3581827d91f5fd33fabd5ad4c9a79d63355731)
* Doc.Martin Pool2001-12-101-1/+3
| | | | (This used to be commit 6c684c89a4e6e212476335ee57c3b616015598f8)
* Allow for internal databases which may have no name.Martin Pool2001-12-101-5/+5
| | | | (This used to be commit caa08bb56e2dc533c3754f90f6139fe04a317545)
* Log more error messages.Martin Pool2001-12-101-0/+1
| | | | (This used to be commit 8118676f780a80662f28c3cc1a74cc12d0e1ef51)
* Log more error messages.Martin Pool2001-12-101-2/+12
| | | | (This used to be commit b50e566ab93e9a8068e26c9c902db81311cb394c)
* Allocate tdb name up front in case log functions want to use it.Martin Pool2001-12-101-6/+5
| | | | (This used to be commit a228c7efcc06b901ca51a6da77f8a52b77912f55)
* tdb_open_ex: More cleanups: just dynamically allocate the TDB_CONTEXTMartin Pool2001-12-101-14/+27
| | | | | up front, rather than working on the stack and then copying across. (This used to be commit b1d7d800680f77e02185bb237982b284414aac1e)
* Refactor code to check whether already open into its own function.Martin Pool2001-12-101-8/+21
| | | | (This used to be commit 52ef112e10dbe273b6e66c4a5081f468e4630b7d)
* tdb_open_ex should always "goto fail" in case of error, rather thanMartin Pool2001-12-101-1/+2
| | | | | | just returning. I don't think this would leak at the moment, but it's an accident waiting to happen. (This used to be commit fe901ec194d1b8ef94386b097e72508075eb8a54)
* Doc.Martin Pool2001-12-101-0/+4
| | | | (This used to be commit bb6c0df4bc4eb8ce789886ec17e434dc27bb34b0)
* tdb_open_ex: Continue previous refactoring so that we consistentlyMartin Pool2001-12-101-12/+12
| | | | | just say "tdb" not "&tdb". (This used to be commit fac685d30f58c25d73d1690ed008c797291558e4)
* tdb_open_ex: Refactor to use a pointer to tdb, rather than an autoMartin Pool2001-12-101-57/+58
| | | | | tdb, to be consistent with the rest of the code. (This used to be commit d159415049c25caeaf01b6bc947da3472c54d1f8)
* Put back changes to set errno, which seem to do no harm.Martin Pool2001-12-041-12/+42
| | | | (This used to be commit 3dbb5dfcfb29671f136d1ed6c865362eaf027446)
* undoMartin Pool2001-12-041-156/+69
| | | | (This used to be commit fc176f15f27686049453552219b56b9de33ceffa)
* Implement suggestion from tridge to leave the old tdb_open interfaceMartin Pool2001-12-041-2/+9
| | | | | | as it was, and add tdb_open_ex() which takes a log callback. I guess this makes more sense since it's a public interface. (This used to be commit 391a65395e6cdc0300f81eb1072a3366cacd1203)
* Better error handling:Martin Pool2001-12-041-66/+124
| | | | | | | | | | | | | | - tdb_open api changed so that you now pass an error handling callback when opening the file, so that errors detected during opening have somewhere to go. (All calls from the body of Samba to this function go through a wrapper in tdbutil, which has been updated.) - Clean up logic for deciding how to open tdb. Emit log messages if something goes wrong (e.g. bad magic.) - tdbtool now logs errors to stderr. (This used to be commit 0aa800618eab1043d802c04fb1d125cd07936769)
* Set errno in tdb_open in cases where we detect an error in opening theMartin Pool2001-12-041-11/+33
| | | | | | | | | database, but no underlying system call sets errno. The particular case I had was a mangled .tdb, but there are others. For this one, set EIO. It's a shame Unix messages aren't more detailed -- "bad data format" would be better. (This used to be commit 5630a988be05c21b60aba6304d4aaadce6024817)
* Removed #ifdef TDB_DEBUG around tdb_dump_all() and tdb_printfreelist()Tim Potter2001-11-091-5/+3
| | | | | so that tdbtool can be compiled without having to make clean. (This used to be commit dad688d8c6b3c98173a846ad833599a4016d2e1a)
* Don't core dump when using spinlocks on a read-only tdb. Unfortunately thisJeremy Allison2001-10-161-4/+16
| | | | | | | | | | | means that a read-write opener and a read-only opener are using different locking mechanisms - this needs to be addressed, but it's hard as the read-write opener using the spinlocks is usually first, so there's no way to force them to change down to the fcntl method. Read only access is less important anyway and can never corrupt the tdb anyway, so errors in read-only record reads are more tolerable. Jeremy (This used to be commit 21f776df5932e024a0d1fef9097377d35b5cf511)
* Fix for tdb_oob() on TDB_INTERNAL databases.Jeremy Allison2001-10-121-2/+7
| | | | | Jeremy. (This used to be commit 2b135fba625191a13e4110c68531a0e6d5fb373d)
* Ensure accessing NT member servers works with a Samba PDC. Don'tJeremy Allison2001-10-031-1/+2
| | | | | | | change these timestamp settings without good reason. Remove CLEAR_IF_FIRST flag is tdb is read-only. Jeremy. (This used to be commit a71d9d98b013a6c30fd85524b7cdc929bdbd9bcb)
* Put pwrite code back in expand_file.Jeremy Allison2001-09-191-3/+10
| | | | | Jeremy. (This used to be commit a3267551d88dffb226e4a1c3852fe9c817517d02)