Age | Commit message (Collapse) | Author | Files | Lines |
|
metze
|
|
This has been a wrapper around server_event_context() for some time
now, and removing this from dummmysmbd.c assists with library
dependencies.
Andrew Bartlett
|
|
Guenther
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed Mar 30 17:17:58 CEST 2011 on sn-devel-104
|
|
Guenther
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
And use signal events for Linux oplocks.
metze
|
|
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
|
|
The goal is to move all this variables into a big context structure.
metze
|
|
Jeremy.
(This used to be commit d85cbdbe296ec6de5bdbd66a90ca41345f55c837)
|
|
(This used to be commit ba771bd858602452a9e58c3aab1336f2ac8a25ef)
|
|
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)
|
|
it with accessor functions. "One global or pstring a day...." :-).
Jeremy.
(This used to be commit d50d14c300abc83b7015718ec48acc8b3227a273)
|
|
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)
|
|
Jeremy.
(This used to be commit cfcf7cf03e1be34e6839c1a659c4e8c1b5358c37)
|
|
This removes file_id_string_static and file_id_string_static2
(This used to be commit 638c848c9afe374feb30e34c494f89b2a6c64f7b)
|
|
metze
(This used to be commit dd7e94258b0fc0157d890d71f05c6fe16b6a2ea9)
|
|
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
|
|
Jeremy.
(This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
|
|
(This used to be commit 5360e6405b170137e558fd0696ebd6030e0f5deb)
|
|
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)
|
|
(This used to be commit 2c2d5308a23df0b6b078bc647ad550c43b51ee1e)
|
|
(This used to be commit e710a7d39a662a1a339f3f71c4b051fde1bb5a16)
|
|
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)
|
|
consistent. Bring oplocks withing the purview of the locking debug
channel.
(This used to be commit e817cfd7d3a42d141198122eada58b5a7ba90e9c)
|
|
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)
|
|
jason@ncac.gwu.edu.
Jeremy.
(This used to be commit 0295ed3d5c3bb34ef29d01100a6156a754377930)
|
|
(This used to be commit ed619421de024c44f5f05b3c03bb5311ce73830f)
|
|
Jeremy.
(This used to be commit 006cf9c3654e7f18e01b75a5fe87798df862d26a)
|
|
on a box?
Thanks,
Volker
(This used to be commit 9fcf83dcd828515a6f6ac535cd47398b7e04e748)
|
|
* \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)
|
|
Thanks,
Volker
(This used to be commit 1ebb3aa0d5007c470862e3adca92d2941ffa294c)
|
|
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
|
|
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
|
|
in a tdb.
Jeremy.
(This used to be commit 058ae6b58f61ef46013dd076af3a84de5fbaaab1)
|
|
(This used to be commit 2d0922b0eabfdc0aaf1d0797482fef47ed7fde8e)
|
|
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)
|
|
Jeremy.
(This used to be commit 711f15ac230092bac000e63f99e8dfaa4a644847)
|
|
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)
|
|
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)
|
|
(This used to be commit 3253085d9883a181c04b9c9ecf7d0ccdfbcee88d)
|
|
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)
|