summaryrefslogtreecommitdiff
path: root/source3/locking/posix.c
AgeCommit message (Collapse)AuthorFilesLines
2000-05-25Fixed misunderstanding found during CIFS conference. Overlapping lockJeremy Allison1-340/+278
ranges (not just included lock ranges) should be handled correctly. UNIT test still needed. Jeremy. (This used to be commit 07872298e3ee8b4b50b69cb4e49b88635792128e)
2000-05-10Using a structure for a tdb key can lead to insideous, hardHerb Lewis1-0/+2
to find bugs. On 64 bit IRIX, structure packing means that a struct { SMB_DEV_T dev /* 4 bytes */ SMB_INO_T ino /* 8 bytes */ } has 4 bytes of padding between the two members. If you don't null the memory before using it as a tdb key, you randomly can't find keys depending on what is in the padding. This caused me immense pain and was hard to track down.... :-) Jeremy. (This used to be commit f2a5ba3f0939f59097f0ef6a25f1cf9b5574f157)
2000-05-05Two fixes. Added missong logic & case in lock split code.Jeremy Allison1-4/+12
Fixed range split into two, as DLIST_ADD has the wrong semantics... Jeremy. (This used to be commit 82681edda14dcc3d58bb303cfac5452072de67df)
2000-05-04Updated to fix overlapping problem.Jeremy Allison1-68/+142
Jeremy. (This used to be commit 9bdfe0f5023988962f8a8b4d847de7a0ee27f85c)
2000-05-04Fix for debug statement crash.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 57bf92d90147b207664152d44ce4bfb5235dc7d8)
2000-05-03Fixed the bug locktest.c found, it was an off-by-one error in the non-overlapJeremy Allison1-1/+1
case. Jeremy. (This used to be commit 65150c408a5254215de89c8c774c33c4d011c2c0)
2000-05-03Fixed silly bug where I wasn't checking for matching fd's in closing a file.Jeremy Allison1-7/+24
This caused smbd crashes on SIGKILL. Jeremy. (This used to be commit d4dcefd12d14df112f083c312acbea0196bc5c23)
2000-05-03Added range info to the panic message to track down the bug withJeremy Allison1-1/+5
locktest. Jeremy. (This used to be commit 91f038356b7efa04cf4bfa5e6afd8b144b6b4ad5)
2000-05-03Fix for stacking locks in brlock and POSIX. Windows only allows a read lockJeremy Allison1-91/+129
to overlay a write lock on the same fnum. When overlaying read locks onto a write lock, the number of locks is counted, and the first unlock removes the write lock and downgrades this to a read lock. Do the same when mapping to POSIX. Jeremy. (This used to be commit 74d42644e6e52808037975e909aa56c850838b76)
2000-05-02Implemented the last (I hope:-) part of the locking puzzle, the referenceJeremy Allison1-23/+90
counting when Windows downgrades a write lock to a read lock, then reference counts the unlocks to match the locks. With this code the POSIX unlock isn't done until the final Windows unlock. Jeremy. (This used to be commit 6eb4fb6eef367f68169d6ec1c816226b1ad9f110)
2000-05-02split the username in the vuser structure into a separateAndrew Tridgell1-1/+2
userdom_struct. As the name implies this also contains a domain (unused at the moment). This will be important shortly, as operation in appliance mode needs the domain to be always carried with the username. (This used to be commit ee8546342d5be90e730372b985710d764564b124)
2000-05-02Moved uglyness needed in fcntl locking (64->32 bit mapping, NFSJeremy Allison1-3/+121
errors etc.) into locking/posix.c, where it is needed. fcntl_lock in lib/util.c is now very small and clean. Added (*lock) op to vfs layer. Jeremy. (This used to be commit 46092ee1410faa4e3c143d80a960a8adaa19d7fc)
2000-05-01locking/posix.c: Fixed double-free nasty crash bug found by insure.Jeremy Allison1-3/+0
utils/make_smbcodepage.c: utils/make_unicodemap.c: Insure 'make install' fixes. Jeremy. (This used to be commit 3b25f7368be3877e9ad27498bc9451ec88d4b07f)
2000-05-01added TDB_INTERNAL, TDB_NOLOCK and TDB_NOMMAP flags.Andrew Tridgell1-3/+3
TDB_INTERNAL replaces the old method of passing a null filename (This used to be commit 8ec815920d46f205b9f3fff82397c731753c3a10)
2000-04-30- removed all our old wildcard matching code and replaced it with aAndrew Tridgell1-2/+2
call to ms_fnmatch(). This also removes all the Win9X semantics stuff and a bunch of other associated cruft. - moved the stat cache code into statcache.c - fixed the uint16 alignment requirements of ascii_to_unistr() and unistr_to_ascii() - trans2 SMB_FIND_FILE_BOTH_DIRECTORY_INFO returns the short name as unicode always (at least thats what NT4 does) - fixed some errors in the in-memory tdb code. Still ugly, but doesn't crash as much (This used to be commit 03e9cea004bbba72161a5323cf3b4556c94aed8e)
2000-04-29Removed tdb locking calls (picky Andrew...:-)Jeremy Allison1-25/+12
(This used to be commit 6bded3b74e974b97d54acf9289f4cf812e2b1af7)
2000-04-28Ok - this is the *third* implementation of this (third time's the charm :-).Jeremy Allison1-199/+123
This implementation keeps all POSIX lock records in a separate in memory tdb database only known about in locking/posix.c. In addition, the pending close fd's are also held in a tdb which has an array of fd's indexed by device and inode. The walk-split code uglyness has been moved to posix.c from brlock.c, which is the only place that needs to know about it, and the extra functions hacked into brlock to expose internal state have been removed. This implementation passes smbtorture locktest4, the only thing I need to check now for completeness is what to do about lock upgrade/downgrades which Win32 allows under some *very* strange circumstances. Jeremy. (This used to be commit 3f655de1c764b9ee1472a111621d4317f19f624d)
2000-04-28Split off of POSIX locking into separate unit as Andrew requested.Jeremy Allison1-0/+1208
Done so I don't lose my edits... :-). Jeremy. (This used to be commit 31a57be658f3fa3569a552e9c5d30174f5a51649)