summaryrefslogtreecommitdiff
path: root/source3/tdb
AgeCommit message (Collapse)AuthorFilesLines
2001-09-19Fix based on Andrew's insight as re-using a tdb after fork meansJeremy Allison1-3/+23
parent and child share seek pointer. Damn.... Jeremy. (This used to be commit 0e75c0fc1aa742fb0c29716c99a81cf5b33ef6e6)
2001-09-19Return correct error code on lock fail in tdb_expand.Jeremy Allison1-1/+1
Jeremy. (This used to be commit b45793ec3f6ff04587bee8f463ef6410b06097d6)
2001-09-18Roll back earlier fix after talking with Andrew. The write_lock_record andJeremy Allison1-2/+2
unlock are explicitly non-blocking. I will add a comment to this effect later. Jeremy. (This used to be commit e4b41a8f31729dfec92c4cb1f8b4759446cac0ff)
2001-09-18Fixed a couple of nasty bugs only easily seen with no mmap. Firstly,Jeremy Allison1-2/+4
map_ptr not neccessarily set to NULL if no mmap, secondly, iterating through a tdb was using SETLK, instead of SETLKW - would almost never fail with mmap as the time holding the lock was so short, but was easily seen with read/write. One finaly bug needs tracking down w.r.t. traversal...... Jeremy. (This used to be commit 313c2e8652092a307165b6039dd7dfbbd0754ec3)
2001-09-06flush stdout in test logging fnsAndrew Tridgell2-0/+2
(This used to be commit d32ac363a5b4c6978077b1d695c503e22c5782ca)
2001-09-06use a different test tdb name for tdbtest and tdbtortureAndrew Tridgell1-1/+1
(This used to be commit 931bded1c92c812d6aae101a40f453c925054627)
2001-09-06actually obey the "use mmap" smb.conf optionAndrew Tridgell1-1/+5
(This used to be commit b36c98036bcbaa5545c9637cb632361122033cfd)
2001-08-29Renamed rwlock_t type to tdb_rwlock_t to avoid conflict with Solaris 8Tim Potter2-13/+13
header files. (This used to be commit 888c852f01cec89b380fdf2564444b86d396c442)
2001-08-19Add missing gcc memory barriers, this bug showed up when doing aAnton Blanchard1-16/+43
heavy netbench run. :) Rework ppc spinlocks to be faster. (This used to be commit a58b89d33979f53daa2573c31eba024a26c46502)
2001-08-07Patch for having spaces in tdb keys, NULL termination fixes and otherTim Potter1-22/+87
stuff. From Andrew Esh <AEsh@tricord.com> (This used to be commit 78207d0fc8c4641fbd8f63f469c4135357edfad8)
2001-08-04Print an error message if database could not be opened.Volker Lendecke1-0/+7
Volker (This used to be commit b4f06c3ecf8af60352bc9e3af9c35c00827faad2)
2001-08-02Added mmap fix to pass lock test from HP.Jeremy Allison1-115/+222
Ok - now we're no longer trying to reach a silly 1k loc target, change the formatting to be *readable* - eg. change if (x) y else z to be : if (x) y else z and other compact sillyness. Oh look - when I did this I found some areas where we *WEREN'T CHECKING SYSTEM CALL ERROR RETURNS !!!!* CompSci 101 guys....... :-). Jeremy. (This used to be commit 38d2e6983a6be8232ae7ce21a950d69dd95ce3e6)
2001-07-31Fix for rare tdb pattern store failure. Found & fixed by Rusty.Jeremy Allison1-1/+4
Jeremy. (This used to be commit aaa56bb3a3c5f0e4191c9b3efe9b8d92c22cf6c7)
2001-07-25Always check fstat for error.Jeremy Allison1-10/+13
Jeremy. (This used to be commit 34951876a1bfad5aa3fc3bd05b808e150f639a8a)
2001-07-05Fix for enumerating large numbers of users.Jeremy Allison1-1/+1
Jeremy. (This used to be commit c8c138c1fbb49799a2dd4c6e781bd89f51c0c0c5)
2001-07-04removed some debug codeAndrew Tridgell1-18/+13
(This used to be commit 1f6240daae4c5503d6fbb846d89cae986e010fc8)
2001-06-21Ok - I misspoke.... mmap returns MAP_FAILED, not neccessarily -1 :-).Jeremy Allison1-2/+6
Jeremy. (This used to be commit 2d1c6d1f6b55a0a78eb8afbe16d2ad8b3253a220)
2001-06-21When mmap fails it returns -1 *NOT NULL*.Jeremy Allison1-1/+7
This got regressed somehow..... Jeremy. (This used to be commit b77c8b536d4b6d2162f4932227f01cffb730c645)
2001-06-11Fixed potential free of NULL found by SGI speedshop.Jeremy Allison1-1/+2
Jeremy. (This used to be commit fc7830eec8f5478fc3d3296bb35cb11c94e7d9fa)
2001-06-01Added *.po to .cvsignore files.Tim Potter1-0/+1
(This used to be commit 870e9e4e89dcf910c595cabb28f69ad070942072)
2001-05-30merged fix for tdb_unpack from 2_2Andrew Tridgell1-1/+4
(This used to be commit 200b682e9bbe79897343422f7c870382ed6de40a)
2001-05-30added list function to tdbtoolAndrew Tridgell1-0/+2
(This used to be commit c20838c6358f02dea7967e28a5f23db70ff464f9)
2001-05-30- fixed an off-by-1 bug in the delayed deletion code that I believeAndrew Tridgell4-58/+162
was the initial cause of the connections database becoming corrupt. Note that this bug only happens when doing deletions within a traversal, which is why it has only showed up now - added delete within traversal testing to tdbtorture - added a lot more logging to tdb (This used to be commit 6e1277df9d964c615a3ad876d3b89ff8132081c1)
2001-05-30added a tdb_open_log() function that opens a tdb and enables loggingAndrew Tridgell2-1/+34
of messages from the tdb code into the Samba DEBUG() system just call tdb_open_log() instead of tdb_open() to enable this on any tdb (This used to be commit 3ab770484c6775df2c1a6f69427ebe656702c96c)
2001-05-29more portable TDB_LOG macroAndrew Tridgell1-1/+1
(This used to be commit ba106b9b07b23c3dc1b40c8feb10cff173faa07a)
2001-05-28try to make the tailer code much more robust. When a recordAndrew Tridgell4-14/+123
can't be merged don't fail the operation, instead just add it to the free list anyway added logging to tdb (This used to be commit dda086fdf92fded016afc785f7965a375faae5aa)
2001-05-25Added tdb_change_int_atomic() to allow atomic updates of a tdb int value.Jeremy Allison1-3/+32
Jeremy. (This used to be commit cf5015f15935605cf69078bc15251db61ddc48c7)
2001-05-15make sure that when a tdb expands we fill the expanded area, otherwise ↵Andrew Tridgell1-6/+29
ENOSPC could be very bad (This used to be commit b94cfb6843dc7fc985917395d3e0d953501b9197)
2001-05-14Implemented max connections in a similar way to 2.0.x (scan of connection db).Jeremy Allison1-6/+8
This needs testing ! Tidied up tabs in tdb.c. Jeremy. (This used to be commit 0852465053d0c1a23b6cfe6097267291b0595ef8)
2001-05-06clearer tdb_mmap codeAndrew Tridgell1-24/+19
(This used to be commit ce6598c465e3d1e26592af9b90eb271ee837f290)
2001-05-06merge from 2.2Andrew Tridgell2-8/+7
(This used to be commit 13bf966cb8ed8df6b02018dceff94c275def8200)
2001-05-04Fix problem with OpenBSD mmap and write not being coherent.Jeremy Allison1-8/+29
Jeremy. (This used to be commit 4c6a8273c6dd3e2aeda5a63c4a62aa55bc133099)
2001-04-18merge from 2.2Andrew Tridgell1-0/+1
(This used to be commit f52a5014ee325f9d91f266f88eac51b6136a75b9)
2001-04-16Getting medieval with compiler warnings as Jeremy puts it.Tim Potter1-2/+2
(This used to be commit d05c3cf0f47a3c863adbed7ad4ab8f3248cd072d)
2001-04-14Fix for True64 treating readonly as a reserved word !Jeremy Allison1-2/+2
Jeremy. (This used to be commit d6889b1954bd863fd04cf43fb25f178b1d1ab67f)
2001-04-13Merge of Andrew's changes in 2.2.Jeremy Allison2-49/+3
Jeremy. (This used to be commit fc76681812b1469208ad6c8847afdfc68bc6db49)
2001-04-11Fixed some compiler warnings.Tim Potter1-2/+2
(This used to be commit cda0f211b0dd41ae72ef3d65b9476c11c6f72de3)
2001-04-10Added HAVE_STDARG_H to tdbutil.cJeremy Allison1-5/+51
Jeremy. (This used to be commit e404e001990409eacf2e620d2269c2b162fa938b)
2001-02-20optimise by defaultAndrew Tridgell1-1/+1
(This used to be commit a5005195440d4805054c488cdc450735883064e5)
2001-02-13It compiles for me now :-). rpc_server/srv_lsa.c - added fix to allow w2kJeremy Allison1-6/+15
clients to join a Samba domain - odd or even domain name length. Needs more testing. Jeremy. (This used to be commit 408672d38261e34cc3714200617b35464d88f931)
2001-01-29Changes from APPLIANCE_HEAD:David O'Neill3-28/+101
source/include/proto.h - make proto source/printing/nt_printing.c source/rpc_server/srv_spoolss_nt.c - Fix for the overwriting of printerdata entries when WinNT and Win2k are modifying printer parameters on PCL printers. Turns out that Win2k creates a printer with a NULL devmode entry and then expects to set it on *OPEN* (yes this is insane). So we cannot return a "default" devmode for a printer - and we must allow an open to set it. source/tdb/tdb.c - Show freelist in an easier format. Show total free. - When storing a new record, allocate memory for the key + data before the tdb_allocate() as if the malloc fails a (sparse) hole is left in the tdb. source/tdb/tdbtool.c - Show freelist in an easier format. Show total free. source/tdb/Makefile - cleaned up Makefile dependancies source/smbd/lanman.c - Fix for Win9x corrupting it's own parameter string. source/printing/printfsp.c source/printing/printing.c source/rpc_server/srv_spoolss_nt.c source/smbd/close.c - Added normal close parameter into print_fsp_end() which treats an abnormal close as error condition and deletes the spool file. (This used to be commit 025f7a092ad258ff774e3f5e53737f8210cc8af6)
2001-01-16Set the tdb->map_ptr to NULL if mmap() returns -1.Tim Potter1-0/+3
(This used to be commit cef7f58ac5cc0c96e1027c7e5ecbb3fb72cb94b6)
2000-12-30The line was:Christopher R. Hertel1-1/+6
struct tdb_traverse_lock tl = { tdb->travlocks.next, 0, 0 }; The IRIX compiler complained that the first initialization value was not a constant and errored out. Here's what it looks like now: struct tdb_traverse_lock tl = { NULL, 0, 0 }; int ret, count = 0; /* This was in the initializaton, above, but the IRIX compiler * did not like it. crh */ tl.next = tdb->travlocks.next; That worked. Chris -)----- (This used to be commit e651d1d642cd1bfac11bec81a30915b95d4424c8)
2000-12-15Added lock backouts on fail.Jeremy Allison1-3/+28
When chaining together long lines of bloody "if" statements, which should logically be separated, and one of them allocates memory, remember to *free* it *WHETHER OR NOT THE IF STATEMENTS SUCCEEDED* !!!! Yes I do consider this a bug in the coding style of Tridge, Rusty, Tim et al. :-). I'm just pissed 'cos this took 4 hours to track down even with an insure error report stating me in the face and also Ben Woodward looking over the code with me :-). Jeremy. (This used to be commit 506b5e34c3ba16768dbc82ba21044787de160c45)
2000-12-13Two tdb bugfixes. First one - ensure that traverse lock is moved before deletingJeremy Allison1-45/+58
dead records, else the record is just marked for deletion, not actually deleted. Second, ensure allocated record is marked as "in use" before free list lock is released, else other processes in the freelist merge code may try and merge it. Jeremy. (This used to be commit dd959fa325c5df8ce0407d8debea76602c8e71cf)
2000-12-11Added Tim's fix for read-only crashes.Jeremy Allison1-0/+2
Jeremy. (This used to be commit cfc62fecdf4c5579ee643df3e701cf6f1fe553ee)
2000-12-07Fixed bug with tdb_next_lock failing when reaching then end of a hashchainJeremy Allison2-9/+39
and the next hashchain is empty. Jeremy (This used to be commit f3b5e2a172a777e1c3bbf6ac72fe5c7cdb8324b3)
2000-12-06tdb_chainunlock() no longer returns a value.Tim Potter1-2/+2
(This used to be commit 2c9704c3db4014ca43b4b13160b9f53ff5f36e3b)
2000-12-06Changed to sourceforge tdb code. This includes spinlocks (so we now haveJeremy Allison6-1058/+1255
a --with-spinlocks option to configure, this does mean the on-disk tdb format has changed, so 2.2alphaX sites will need to re-create their tdb's. The upside is no more tdb fragmentation and a +5% on netbench. Swings and roundabouts.... Jeremy. (This used to be commit 9dea7b7c257db487f8ced7dad3fce92fba03ea91)
2000-12-05Fixed one tdb_read -> rec_free_read call.Jeremy Allison1-10/+2
Jeremy. (This used to be commit c9884e16fc2d13dd62c5a43633c9a38dadc9822c)