summaryrefslogtreecommitdiff
path: root/source3/smbd/oplock_irix.c
AgeCommit message (Collapse)AuthorFilesLines
2009-02-19s3: Modify SMB_VFS_FILE_ID_CREATE to take a stat structTim Prouty1-0/+18
Since file_id_create_dev is incompatible with the concept of file_ids, it is now static and in the one file that needs it.
2009-02-09s3 oplocks: Make the level2 oplock contention API more granularTim Prouty1-2/+4
This replaces release_level2_oplocks_on_change with contend_level2_oplock_begin/end in order to contend level2 oplocks throughout an operation rather than just at the begining. This is necessary for some kernel oplock implementations, and also lays the groundwork for better correctness in Samba's standard level2 oplock handling. The next step for non-kernel oplocks is to add additional state to the share mode lock struct that prevents any new opens from granting oplocks while a contending operation is in progress. All operations that contend level 2 oplocks are now correctly spanned except for aio and synchronous writes. The two write paths both have non-trivial error paths that need extra care to get right. RAW-OPLOCK and the rest of 'make test' are still passing with this change.
2009-02-09s3 oplocks: Differentiate between releasing an oplock vs. downgrading to ↵Tim Prouty1-1/+1
Level 2 for kernel oplocks Pass in an extra argument when releasing an oplock so kernel oplock implementations can support downgrading from Level 1 to Level 2.
2009-01-27s3:smbd: make kernel oplocks event drivenStefan Metzmacher1-12/+3
And use signal events for Linux oplocks. metze
2009-01-22s3:smbd: restructure kernel oplocks codeStefan Metzmacher1-43/+75
This converts the irix oplocks code to use a fd event and removes the last special case for file descriptors for the main sys_select(). metze
2009-01-08s3:smbd: move all globals and static variables in globals.[ch]Stefan Metzmacher1-10/+7
The goal is to move all this variables into a big context structure. metze
2008-07-01Two more fixes from Jim Brown <jim.brown@miami.edu> for SGI compiler warnings.Jeremy Allison1-1/+1
Jeremy. (This used to be commit d85cbdbe296ec6de5bdbd66a90ca41345f55c837)
2008-02-02Convert receive_smb_raw to NTSTATUSVolker Lendecke1-2/+0
(This used to be commit ba771bd858602452a9e58c3aab1336f2ac8a25ef)
2007-11-07Try to fix the build on irix.Michael Adam1-2/+2
There were two callers of set_smb_read_error() in irix_oplocks.c not converted to the new prototype. Michael (This used to be commit e398a8d7b60127001d309c2fd0b1f13337f9b46d)
2007-11-03Remove the smb_read_error global variable and replaceJeremy Allison1-3/+2
it with accessor functions. "One global or pstring a day...." :-). Jeremy. (This used to be commit d50d14c300abc83b7015718ec48acc8b3227a273)
2007-10-18RIP BOOL. Convert BOOL -> bool. I found a few interestingJeremy Allison1-3/+3
bugs in various places whilst doing this (places that assumed BOOL == int). I also need to fix the Samba4 pidl generation (next checkin). Jeremy. (This used to be commit f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
2007-10-10r25141: More pstring removal.Jeremy Allison1-3/+14
Jeremy. (This used to be commit cfcf7cf03e1be34e6839c1a659c4e8c1b5358c37)
2007-10-10r25055: Add file_id_string_tosVolker Lendecke1-6/+6
This removes file_id_string_static and file_id_string_static2 (This used to be commit 638c848c9afe374feb30e34c494f89b2a6c64f7b)
2007-10-10r24272: try to fix the build on irix...Stefan Metzmacher1-3/+7
metze (This used to be commit dd7e94258b0fc0157d890d71f05c6fe16b6a2ea9)
2007-10-10r23784: use the GPLv3 boilerplate as recommended by the FSF and the license textAndrew Tridgell1-2/+1
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10r23779: Change from v2 or later to v3 or later.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10r23185: Try to fix the IRIX build, also add the forgotten file_id.c in .26Volker Lendecke1-2/+3
(This used to be commit 5360e6405b170137e558fd0696ebd6030e0f5deb)
2007-10-10r23183: Check in a change made by Tridge:Volker Lendecke1-22/+22
This replaces the internal explicit dev/ino file id representation by a "struct file_id". This is necessary as cluster file systems and NFS don't necessarily assign the same device number to the shared file system. With this structure in place we can now easily add different schemes to map a file to a unique 64-bit device node. Jeremy, you might note that I did not change the external interface of smb_share_modes.c. Volker (This used to be commit 9b10dbbd5de8813fc15ebbb6be9b18010ffe8139)
2007-10-10r20833: ReformattingVolker Lendecke1-23/+41
(This used to be commit 2c2d5308a23df0b6b078bc647ad550c43b51ee1e)
2007-10-10r20131: get rid of a few no previous prototype warningsHerb Lewis1-0/+1
(This used to be commit e710a7d39a662a1a339f3f71c4b051fde1bb5a16)
2007-10-10r15668: DOS or FCB opens share one share mode entry from differentJeremy Allison1-6/+6
fsp pointers. Ensure we cope with this to pass Samba4 DENY tests (we used to pass these, there must have been a regression with newer code). We now pass them. Jeremy (This used to be commit fd6fa1d4eaf61783df74ee2da50d331477f06998)
2007-10-10r15446: Tidy up the formatting of locking debug messages and make it moreJames Peach1-0/+1
consistent. Bring oplocks withing the purview of the locking debug channel. (This used to be commit e817cfd7d3a42d141198122eada58b5a7ba90e9c)
2007-10-10r14600: Refactor capability interface from being IRIX-specific to using onlyJames Peach1-1/+1
the POSIX interface. Note that this removes support for inherited capabilities. This wasn't used, and probably should not be. (This used to be commit 763f4c01488a96aec000c18bca313da37ed1df1b)
2007-10-10r13724: Remove unused variable. Bug #3559 fromJeremy Allison1-2/+2
jason@ncac.gwu.edu. Jeremy. (This used to be commit 0295ed3d5c3bb34ef29d01100a6156a754377930)
2007-10-10r13500: Fix ordering of FD_* arguments.James Peach1-10/+6
(This used to be commit ed619421de024c44f5f05b3c03bb5311ce73830f)
2007-10-10r13498: Fix the kernel oplocks code for IRIX. Should fix #3515.Jeremy Allison1-1/+26
Jeremy. (This used to be commit 006cf9c3654e7f18e01b75a5fe87798df862d26a)
2007-10-10r10672: Attempt to fix the IRIX build. James, could you test the Oplock code ↵Volker Lendecke1-12/+16
on a box? Thanks, Volker (This used to be commit 9fcf83dcd828515a6f6ac535cd47398b7e04e748)
2007-10-10r10656: BIG merge from trunk. Features not copied overGerald Carter1-46/+5
* \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-10r8231: Patch from James Peach to fix the IRIX build.Volker Lendecke1-4/+4
Thanks, Volker (This used to be commit 1ebb3aa0d5007c470862e3adca92d2941ffa294c)
2002-07-15updated the 3.0 branch from the head branch - ready for alpha18Andrew Tridgell1-15/+15
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
2002-01-30Removed version number from file header.Tim Potter1-2/+1
Changed "SMB/Netbios" to "SMB/CIFS" in file header. (This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2001-10-20Move from timestamp to gen count file id's for finding oplocked filesJeremy Allison1-85/+94
in a tdb. Jeremy. (This used to be commit 058ae6b58f61ef46013dd076af3a84de5fbaaab1)
2001-10-02Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.Tim Potter1-1/+0
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
2001-03-11Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison1-5/+1
RPC code to merge with new passdb code. Currently rpcclient doesn't compile. I'm working on it... Jeremy. (This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
2000-06-20Fixes for IRIX kernel oplocks and systems that don't have nss.hJeremy Allison1-1/+1
Jeremy. (This used to be commit 711f15ac230092bac000e63f99e8dfaa4a644847)
2000-06-12totally rewrote the async signal, notification and oplock notificationAndrew Tridgell1-4/+4
handling in Samba. This was needed due to several limitations and races in the previous code - as a side effect the new code is much cleaner :) in summary: - changed sys_select() to avoid a signal/select race condition. It is a rare race but once we have signals doing notification and oplocks it is important. - changed our main processing loop to take advantage of the new sys_select semantics - split the notify code into implementaion dependent and general parts. Added the following structure that defines an implementation: struct cnotify_fns { void * (*register_notify)(connection_struct *conn, char *path, uint32 flags); BOOL (*check_notify)(connection_struct *conn, uint16 vuid, char *path, uint32 flags, void *data, time_t t); void (*remove_notify)(void *data); }; then I wrote two implementations, one using hash/poll (like our old code) and the other using the new Linux kernel change notify. It should be easy to add other change notify implementations by creating a sructure of the above type. - fixed a bug in change notify where we were returning the wrong error code. - rewrote the core change notify code to be much simpler - moved to real-time signals for leases and change notify Amazingly, it all seems to work. I was very surprised! (This used to be commit 44766c39e0027c762bee8b33b12c621c109a3267)
2000-06-11Linux kernel oplocks now seem to work, but need a _lot_ of testingAndrew Tridgell1-2/+2
I had to modify sys_select() to not loop on EINTR. I added a wrapper called sys_select_intr() which gives the old behaviour. (This used to be commit b28cc4163bc2faaa80c5782fc02c8f03c410cdeb)
2000-06-10a first pass at Linux kernel oplocks supportAndrew Tridgell1-2/+2
(This used to be commit 3253085d9883a181c04b9c9ecf7d0ccdfbcee88d)
2000-06-10continued the split of the kernel level oplocks code into a moreAndrew Tridgell1-0/+282
modular form. In this pass I added oplock_irix.c and added a "struct kernel_oplocks" that describes a kernel oplock implementation. (This used to be commit b5ceab810292602ea9a81696c20a781c16b706c2)