summaryrefslogtreecommitdiff
path: root/source3/locking/locking.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r15083: Using talloc with destructors is nice and all, but in thisJeremy Allison1-12/+12
case it's in a performace critical path and it *hurts* us. Go back to plain malloc/free with an explicit destructor call. Jeremy. (This used to be commit 1c99aed563c29e1b3d70939878af747a0660bfec)
2007-10-10r15018: Merge Volker's ipc/trans2/nttrans changes overJeremy Allison1-118/+187
into 3.0. Also merge the new POSIX lock code - this is not enabled unless -DDEVELOPER is defined. This doesn't yet map onto underlying system POSIX locks. Updates vfs to allow lock queries. Jeremy. (This used to be commit 08e52ead03304ff04229e1bfe544ff40e2564fc7)
2007-10-10r14763: Add a new tuning parameter, open files database hash size,Jeremy Allison1-1/+2
this allows us to experiment with ensuring the tdb hash size for our open files and locking db are appropriately sized. Make the hash size larger by default (10007 instead of 1049) and make the locking db hash size the same as the open file db hash size. Jeremy. (This used to be commit e7225f7e813423c3e2a94af6a9d7ce8a1b50a166)
2007-10-10r14428: Call fill_share_mode_entry with NO_OPLOCK instead of 0.James Peach1-3/+3
(This used to be commit a39cbaa699d111264c2c9dda49a6e4f42acd3fb8)
2007-10-10r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()Gerald Carter1-7/+7
macro which sets the freed pointer to NULL. (This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10r13412: Don't use arbitrary uint32 size for uid and gid storage. UseJeremy Allison1-23/+22
correct system size. Fixed a bug that was accidentally introduced by use of uint32 - uid was stored twice, not uid and gid. Jeremy. (This used to be commit 89db006997588c6523ce8f2470d67f3136042256)
2007-10-10r13329: Fix libsmbsharemodes.so to work with the stored delete token.Jeremy Allison1-18/+0
Less trouble than I thought plus it didn't need an interface change (thank goodness !). Jeremy. (This used to be commit dbe2572d1c713f46b0d1d0c405f88456c9336297)
2007-10-10r13294: Fix basic delete on close tests - don't forget to tellJeremy Allison1-5/+10
the data struct how big the token is... :-). Jeremy. (This used to be commit f259de8b69f94ae8b5f4553180f245234bffd397)
2007-10-10r13293: Rather a big patch I'm afraid, but this should fix bug #3347Jeremy Allison1-15/+142
by saving the UNIX token used to set a delete on close flag, and using it when doing the delete. libsmbsharemodes.so still needs updating to cope with this change. Samba4 torture tests to follow. Jeremy. (This used to be commit 23f16cbc2e8cde97c486831e26bcafd4ab4a9654)
2007-10-10r13274: Fix for bug #3467. Not a show stopper.Jeremy Allison1-3/+17
jason qian <jason@infrant.com> was a *fantastic* help in tracking this down. Jeremy. (This used to be commit 9f4a9c70fa232047868e5d8a3f132a2dd6bfee82)
2007-10-10r13198: Fix issues exposed by Jerry's testing on 64-bit SolarisJeremy Allison1-22/+0
(I hope). Separate 3.0.21b patch sent to Jerry. Jeremy. (This used to be commit 837e7ea7e40cedc6b01e023445feb4a90c4bf8b9)
2007-10-10r13194: Don't do extra memcpy's unless we're asked to.Jeremy Allison1-1/+5
Jeremy. (This used to be commit f93e1e75563679dc07958168b283dfc0eb2de5b0)
2007-10-10r13192: Fix up alignment issues when printing share modeJeremy Allison1-4/+8
entries. Add paranioa to debug so we know when an entry is unused. Jeremy. (This used to be commit fa5fab313e3728ff49c00ca1097242039506f83e)
2007-10-10r13110: remove an invalid debug message about call get_share_mode_lock() ↵Gerald Carter1-1/+0
with a NULL service path and fname (we do it all the time internally) (This used to be commit e1f75ea63780f4a1661f19554d18bbd73b069c1b)
2007-10-10r12877: Stop passing structs around in smb messages, insteadJeremy Allison1-7/+10
always linearize into little-endian. Should fix all Solaris issues with this, plus provide a cleaner base moving forward for cluster-aware Samba where smbd's can communicate across different compilers/architectures (eventually these message will have to go cross-machine). Jeremy. (This used to be commit d01824b78576a034428e1cef73868d1169057991)
2007-10-10r12234: Reduce the race condition for renames by holding the lockJeremy Allison1-1/+5
longer. Instigated by complaints on the fix for #3303 from SATOH Fumiyasu <fumiyas@miraclelinux.com>. Jeremy. (This used to be commit 855f5f8c32aa530dbad244805a40200824724618)
2007-10-10r12221: Fix error code paths that can potentially leave a dangling lock.Jeremy Allison1-2/+13
Jeremy. (This used to be commit 123135ed1ddd84cc0a5e8e5ca06a0703d1944e37)
2007-10-10r12213: Final fix for #3303 - send rename messages to smbd'sJeremy Allison1-3/+53
that have open file handles to allow them to correctly implement delete on close. There is a further correctness fix I'm intending to add to this to cope with different share paths, but not right now... Jeremy. (This used to be commit 932e337db8788e75344e1c7cf1ef009d090cb039)
2007-10-10r12203: Add the share path into the sharemode db. This involvesJeremy Allison1-18/+66
revving the minor version number for libsmbsharemodes (we now have a new _ex interface that takes the share path as well as the filename). Needed for #3303. Some code written by SATOH Fumiyasu <fumiya@samba.gr.jp> included in the changes to locking/locking.c. The smbstatus output is a bit of a mess and needs overhauling... Jeremy. (This used to be commit 9d93af713f8520ca506730dd32aa2b994937eaba)
2007-10-10r11435: Allow the hash size of the tdb open (locking) databaseJeremy Allison1-3/+3
to be set in local.h. Change from the default (131) to another prime (1049). Should this be an smb.conf tunable parameter based on the number of open file descriptors available ? If so what scaling factor ? More tests to follow. Jeremy. (This used to be commit 6a902ec49ffea5d0ca0308d5ff51584cece41043)
2007-10-10r11341: Put directory opens into the share mode db so weJeremy Allison1-1/+2
can treat them similarly to file opens (delete on close, share mode violations etc.). This fixes bug #3216 I will up the default hash size on the locking db in a later commit as this means more entries. Jeremy. (This used to be commit 1134abbbb3fd8e8b88e1a5817aae106476a4c126)
2007-10-10r10656: BIG merge from trunk. Features not copied overGerald Carter1-749/+455
* \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-10r8219: Merge the new open code from HEAD to 3.0. Haven't yet run the tortureJeremy Allison1-51/+69
tests on this as it's very late NY time (just wanted to get this work into the tree). I'll test this over the weekend.... Jerry - in looking at the difference between the two trees there seem to be some printing/ntprinting.c and registry changes we might want to examine to try keep in sync. Jeremy. (This used to be commit c7fe18761e2c753afbffd3a78abff46472a9b8eb)
2007-10-10r6594: Fix silly typo causing tdb to be freed twice.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 4f431dfc6b57e1609672c4daa53ab5d62613f6d1)
2007-10-10r6543: Fix EDEADLCK problem with deferred open calls. Problem found byJeremy Allison1-13/+33
"Hu, David J" <david.hu@hp.com> Jeremy. (This used to be commit ec86ac4b28e99df41d3dd77586ea259500e5dfcd)
2007-10-10r6502: add LOCKING debug class - pull PRINTINGDB class definition from trunkHerb Lewis1-0/+3
so our numbers don't get out of sync (This used to be commit 58e307664e02ebf0415f19ed625d2f166d9cb1cc)
2007-10-10r4143: Make strict locking an enum. Auto means use oplock optimization.Jeremy Allison1-9/+16
Jeremy. (This used to be commit 0dd4adeae2042d0ea64398a78b3f48eb0150c133)
2007-10-10r4121: Optimisation from Nadav Danieli <nadavd@exanet.com>. If we're oplocked,Jeremy Allison1-1/+9
short circuit some is_locked() tests. Jeremy. (This used to be commit f4feed8f90be98eaea59bebcc142fd398ffe2a59)
2007-10-10r4108: As check_self is *always* False in every invokation, remove theJeremy Allison1-5/+2
logic for it. We still pass Samba4 RAW-LOCK test. Jeremy. (This used to be commit 596f23051363f8cc8896119b3eca0663a61a38c3)
2007-10-10r4088: Get medieval on our ass about malloc.... :-). Take control of all our ↵Jeremy Allison1-4/+4
allocation functions so we can funnel through some well known functions. Should help greatly with malloc checking. HEAD patch to follow. Jeremy. (This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
2007-10-10r2413: Arggg. Stupid, stupid, stupid me ! I added a paranoia testJeremy Allison1-13/+0
case when I was developing the deferred open case and made it too tight. It will fire (incorrectly) and panic when a client does a second open for a file with a different mid (multiplex-id) request. Doh ! This is a perfectly valid thing for a client to do (have two pending opens with different mids outstanding on the same file) and currently when the first pending open expires with a share violation the paranoia code will panic smbd. It's a rare condition, but obvious now I've looked at the code. Fix for bug #1743. Jeremy. (This used to be commit e1bf108ae965ae730c67524164fa36497ea905b5)
2007-10-10r1085: Now it's had some proper user testing, merge in the deferred open ↵Jeremy Allison1-5/+387
fix. I'm still doing more testing, but it fixes a behaviour that we've been wrong on ever since the start of Samba. Jeremy. (This used to be commit 894cc6d16296b934c112786eec896846156aee5d)
2007-10-10r1011: fix bad merge (from a few months ago) and ensure that we always use ↵Gerald Carter1-2/+2
tdb_open_log() instead of tdb_open_ex() (This used to be commit e65564ab4aa1240e84b8d272510aa770cad0ed0e)
2007-10-10r984: Ensure memmove & memcpy aren't called with len == 0.Jeremy Allison1-4/+8
Jeremy. (This used to be commit 40c77dddc65e18b879d922379d562ffb8be80ab5)
2004-02-12merge from old APP_HEADGerald Carter1-2/+2
* remove corrupt tdb and shutdown (only for printing tdbs, connections, sessionid & locking) * decrement smbd counter in connections.tdb in smb_panic() * various Makefile hack to get things to link 'max smbd processes' looks like it might be broken. The counter KEY is not being set. Will look into that tomorrow. (This used to be commit 6e22c5da929b6d9a4e32dc704c83112b2ad8fcfd)
2003-10-09Changes to allow Samba3 to pass the Samba4 RAW-READ tests.Jeremy Allison1-4/+7
Jeremy. (This used to be commit e7565dbba696adbb0fd8cca6b86a1a7e5a655f2e)
2003-09-08Tidy up some formatting. Get ready for allowing bad password lockout. (basedJeremy Allison1-14/+18
on a patch posted from Richard Renard <rrenard@idealx.com>. Jeremy. (This used to be commit abf54b58e95a949cb883d4485853dc560489c03f)
2003-08-01Final fix for the bug tridge found. Only push locks onto a blocking lockJeremy Allison1-1/+5
queue if the posix lock failed with EACCES or EAGAIN (this means another lock conflicts). Else return an error and don't queue the request. Jeremy. (This used to be commit 43fbc18fdc184bf29c15186c16bc99fb208de963)
2003-07-22Fixup a bunch of printf-style functions and debugs to use unsigned long whenTim Potter1-2/+2
displaying pid_t, uid_t and gid_t values. This removes a whole lot of warnings on some of the 64-bit build farm machines as well as help us out when 64-bit uid/gid/pid values come along. (This used to be commit f93528ba007c8800a850678f35f499fb7360fb9a)
2003-05-22More fixes for debug log to catch logic error.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 84a7714eba801fefa7ad56493f20813de3943bc5)
2003-04-04Fix for very subtle POSIX lock interaction race condition found byJeremy Allison1-8/+28
Herb. We need to unlock POSIX locks before notifying pending lock processes. Jeremy. (This used to be commit 6999eef51c3e597b3b2cd9cc26138acdfbb6a23a)
2003-02-27Fix to allow blocking lock notification to be done rapidly (no waitJeremy Allison1-2/+2
for smb -> smb lock release). Adds new PENDING_LOCK type to lockdb (does not interfere with existing locks). Jeremy. (This used to be commit 766928bbba1e597c9c2b12458dd8d37e6080593e)
2003-02-24Merge off-by-one fix from HEAD (caused crash with --enable-developer)Andrew Bartlett1-1/+1
(This used to be commit d71425413075af25f91f715950c06ab698cf5fb7)
2003-02-10Cleanups: (merge from HEAD)Andrew Bartlett1-1/+3
- use safe_strcpy() instead of pstrcpy() for malloc()ed strings - CUPS: a failure in an attempt to automaticly add a printer is not level 0 stuff. - Fix up a possible Realloc() failure segfault Andrew Bartlett (This used to be commit c1cfc296c2efdb2b5972202146e80f0e3b6a3da4)
2003-01-03Fix problem with "hide unreadable". stat file opens are baaack :-).Jeremy Allison1-2/+1
Jeremy. (This used to be commit 62038a0abf193d4dc4f37c31ac77216a10f6f326)
2002-11-23Lots of fixes for error paths where tdb_fetch() data need freeing.Jeremy Allison1-1/+3
Found via a post from Arcady Chernyak <Arcady.Chernyak@efi.com>. Jeremy. (This used to be commit 5d5762d1787db4392d2dff16024097c638b2d494)
2002-09-25sync'ing up for 3.0alpha20 releaseGerald Carter1-1/+1
(This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139)
2002-07-15updated the 3.0 branch from the head branch - ready for alpha18Andrew Tridgell1-3/+4
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
2002-03-23Fix the mp3 rename bug - also tidy up our open code and remove the specialJeremy Allison1-3/+4
cases for rename and unlink. Had to add desired_access into the share mode record. Jeremy. (This used to be commit 3b1b8ac43535fb0839c5474fa55bf7150f6cde31)
2002-03-15if our lock spin code fails then return the first error code, not theAndrew Tridgell1-4/+11
last one. This is what caused the lock1 and lock2 tests to fail. (This used to be commit e7ae8003cb4fdc93db5f842754884a6d2ec93dc0)