Age | Commit message (Collapse) | Author | Files | Lines |
|
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)
|
|
(This used to be commit bb6c0df4bc4eb8ce789886ec17e434dc27bb34b0)
|
|
just say "tdb" not "&tdb".
(This used to be commit fac685d30f58c25d73d1690ed008c797291558e4)
|
|
tdb, to be consistent with the rest of the code.
(This used to be commit d159415049c25caeaf01b6bc947da3472c54d1f8)
|
|
(This used to be commit 3dbb5dfcfb29671f136d1ed6c865362eaf027446)
|
|
(This used to be commit fc176f15f27686049453552219b56b9de33ceffa)
|
|
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)
|
|
- 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)
|
|
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)
|
|
so that tdbtool can be compiled without having to make clean.
(This used to be commit dad688d8c6b3c98173a846ad833599a4016d2e1a)
|
|
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)
|
|
Jeremy.
(This used to be commit 2b135fba625191a13e4110c68531a0e6d5fb373d)
|
|
change these timestamp settings without good reason.
Remove CLEAR_IF_FIRST flag is tdb is read-only.
Jeremy.
(This used to be commit a71d9d98b013a6c30fd85524b7cdc929bdbd9bcb)
|
|
Jeremy.
(This used to be commit a3267551d88dffb226e4a1c3852fe9c817517d02)
|
|
this prevents the fd seek pointer problem
(This used to be commit f49518e497deeb46292456c3650769d50ec2a955)
|
|
parent and child share seek pointer. Damn....
Jeremy.
(This used to be commit 0e75c0fc1aa742fb0c29716c99a81cf5b33ef6e6)
|
|
Jeremy.
(This used to be commit b45793ec3f6ff04587bee8f463ef6410b06097d6)
|
|
unlock are explicitly non-blocking. I will add a comment to this effect later.
Jeremy.
(This used to be commit e4b41a8f31729dfec92c4cb1f8b4759446cac0ff)
|
|
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)
|
|
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)
|
|
Jeremy.
(This used to be commit aaa56bb3a3c5f0e4191c9b3efe9b8d92c22cf6c7)
|
|
Jeremy.
(This used to be commit 34951876a1bfad5aa3fc3bd05b808e150f639a8a)
|
|
Jeremy.
(This used to be commit c8c138c1fbb49799a2dd4c6e781bd89f51c0c0c5)
|
|
Jeremy.
(This used to be commit 2d1c6d1f6b55a0a78eb8afbe16d2ad8b3253a220)
|
|
This got regressed somehow.....
Jeremy.
(This used to be commit b77c8b536d4b6d2162f4932227f01cffb730c645)
|
|
Jeremy.
(This used to be commit fc7830eec8f5478fc3d3296bb35cb11c94e7d9fa)
|
|
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)
|
|
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)
|
|
(This used to be commit ba106b9b07b23c3dc1b40c8feb10cff173faa07a)
|
|
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)
|
|
ENOSPC could be very bad
(This used to be commit b94cfb6843dc7fc985917395d3e0d953501b9197)
|
|
This needs testing !
Tidied up tabs in tdb.c.
Jeremy.
(This used to be commit 0852465053d0c1a23b6cfe6097267291b0595ef8)
|
|
(This used to be commit ce6598c465e3d1e26592af9b90eb271ee837f290)
|
|
(This used to be commit 13bf966cb8ed8df6b02018dceff94c275def8200)
|
|
Jeremy.
(This used to be commit 4c6a8273c6dd3e2aeda5a63c4a62aa55bc133099)
|
|
Jeremy.
(This used to be commit d6889b1954bd863fd04cf43fb25f178b1d1ab67f)
|
|
Jeremy.
(This used to be commit fc76681812b1469208ad6c8847afdfc68bc6db49)
|
|
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)
|
|
(This used to be commit cef7f58ac5cc0c96e1027c7e5ecbb3fb72cb94b6)
|
|
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)
|
|
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)
|
|
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)
|
|
Jeremy.
(This used to be commit cfc62fecdf4c5579ee643df3e701cf6f1fe553ee)
|
|
and the next hashchain is empty.
Jeremy
(This used to be commit f3b5e2a172a777e1c3bbf6ac72fe5c7cdb8324b3)
|
|
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)
|
|
Jeremy.
(This used to be commit c9884e16fc2d13dd62c5a43633c9a38dadc9822c)
|
|
This needs TESTING !!! (It passes tdbtest of course :-).
Jeremy.
(This used to be commit 7ae54a93e756d927419242adf35f46e91e974573)
|
|
Jeremy.
(This used to be commit ee89ca9e68abb23fc26cd1378e02e56d0d725e55)
|
|
fragmentation
(This used to be commit b64e1ae69314ae110c548f57810c34e620d57075)
|
|
(This used to be commit 03453e2ae557d7fa119338b71744822093d2f38a)
|