summaryrefslogtreecommitdiff
path: root/source4/ntvfs/common/opendb.c
AgeCommit message (Collapse)AuthorFilesLines
2008-06-03opendb: add write time handlingStefan Metzmacher1-7/+17
metze (This used to be commit 3868d8ce630c71e2c70aae442fcdbd68ba1eb708)
2008-04-02Install public header files again and include required prototypes.Jelmer Vernooij1-14/+14
(This used to be commit 47ffbbf67435904754469544390b67d34c958343)
2008-03-12opendb: pass down a pointer to the fd in odb_open_file()Stefan Metzmacher1-2/+2
This prepares kernel oplock support. metze (This used to be commit 9db9b6d85d80a8aaa8bd432afaef9bb634d7364d)
2008-03-07opendb: force odb_can_open() before odb_open_file()Stefan Metzmacher1-8/+6
Now there's only odb_can_open() which handles the share_access rules. And odb_open_file() only adds the new opendb_entry into the database and calculates the granted oplock level. metze (This used to be commit db0853ae4fead34ef382bbfcfe2f46453ab8b73b)
2008-03-06opendb: add allow_level_II_oplock parameter to odb_open_file()Stefan Metzmacher1-1/+3
Not all clients support a fallback to level II oplocks. metze (This used to be commit 146f1fe0b67ca0805f0e71358abc57da0c0579a9)
2008-02-29opendb: add odb_get_path()Stefan Metzmacher1-0/+8
metze (This used to be commit 02071f151a22257d31f8a8b254625e2067e7b94d)
2008-02-28opendb: only return delete_on_close on odb_get_delete_on_close()Stefan Metzmacher1-3/+2
metze (This used to be commit e699633db2d377a9077ff490208da277e250239b)
2008-02-28opendb: return the path that should be deleted in odb_close_file()Stefan Metzmacher1-2/+3
That means the last close returns the path name if the delete_on_close flag is set. metze (This used to be commit fc27730bad24e8dddaa2e7f754a16811e38a2f60)
2008-02-26opendb: unify the parameters of odb_open_file() and odb_can_open()Stefan Metzmacher1-3/+5
metze (This used to be commit e6b708a52b0eada3fd374b66292ded3b0f6ce217)
2008-02-26opendb: pass down open_disposition and break_to_none to odb_open_file()Stefan Metzmacher1-6/+7
metze (This used to be commit aaaa26ae5e810495f313dfada771a8de86cedbd4)
2008-02-26opendb: add odb_break_oplocks() functionStefan Metzmacher1-0/+5
This send breaks to none to all level2 holders metze (This used to be commit bd3654500b14e4ed8d4a8bb25ff9da5035a16a8b)
2008-02-25opendb: add odb_update_oplock() callStefan Metzmacher1-0/+6
metze (This used to be commit df576d69c6981a4879a0e9447069fcfacb3588db)
2008-02-25opendb: add odb_get_key() function to get the key back from a struct odb_lockStefan Metzmacher1-0/+4
metze (This used to be commit 11f35a2a4d383b506ced35ba06120f9531bac70c)
2007-12-21r26355: Eliminate global_loadparm in more places.Jelmer Vernooij1-1/+1
(This used to be commit 5d589a0d94bd76a9b4c9fc748854e8098ea43c4d)
2007-10-10r25554: Convert last instances of BOOL, True and False to the standard types.Jelmer Vernooij1-3/+3
(This used to be commit 566aa14139510788548a874e9213d91317f83ca9)
2007-10-10r25430: Add the loadparm context to all parametric options.Jelmer Vernooij1-1/+1
(This used to be commit fd697d77c9fe67a00939a1f04b35c451316fff58)
2007-10-10r25035: Fix some more warnings, use service pointer rather than service ↵Jelmer Vernooij1-1/+1
number in more places. (This used to be commit df9cebcb97e20564359097148665bd519f31bc6f)
2007-10-10r25026: Move param/param.h out of includes.hJelmer Vernooij1-0/+1
(This used to be commit abe8349f9b4387961ff3665d8c589d61cd2edf31)
2007-10-10r23792: convert Samba4 to GPLv3Andrew Tridgell1-3/+2
There are still a few tidyups of old FSF addresses to come (in both s3 and s4). More commits soon. (This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10r22082: merged the ctdb changes from bzrAndrew Tridgell1-1/+5
added opendb ctdb backend from ronnie (This used to be commit b0da25cb79f860bfa14ba7a8419c7996d936292b)
2007-10-10r21807: modularise the opendb code, so different backends can beAndrew Tridgell1-458/+20
implemented. This will allow for a ctdb opendb backend. (This used to be commit 6b91ca0968209ad17489341c78d9610607cc8320)
2007-10-10r20920: use cluster_tdb_tmp_open() in ntvfs backend codeAndrew Tridgell1-6/+1
(This used to be commit c9080c54872f107d1e42e77261df50a5d55d294f)
2007-10-10r20897: fix compiler warningsStefan Metzmacher1-0/+1
metze (This used to be commit 5ac562e1e0e8de03c8bcd083a1822b31667c5e21)
2007-10-10r20653: If this is the wrong way to fix the build, I apologize. But these ↵Volker Lendecke1-0/+1
includes are necessary in my environment to get through make. Volker (This used to be commit 47e80da39f27a7e7aa6f85d6333f2d1772292ec9)
2007-10-10r20646: first preparations for cluster enablement. This changes "Andrew Tridgell1-2/+2
uint32_t server_id to struct server_id server_id; which allows a server ID to have an node number. The node number will be zero in non-clustered case. This is the most basic hook needed for clustering, and ctdb. (This used to be commit 2365abaa991d57d68c6ebe9be608e01c907102eb)
2007-10-10r17930: Merge noinclude branch:Jelmer Vernooij1-1/+0
* Move dlinklist.h, smb.h to subsystem-specific directories * Clean up ads.h and move what is left of it to dsdb/ (only place where it's used) (This used to be commit f7afa1cb77f3cfa7020b57de12e6003db7cfcc42)
2007-10-10r15854: more talloc_set_destructor() typesafe fixesAndrew Tridgell1-2/+1
(This used to be commit 61c6100617589ac6df4f527877241464cacbf8b3)
2007-10-10r15328: Move some functions around, remove dependencies.Jelmer Vernooij1-1/+0
Remove some autogenerated headers (which had prototypes now autogenerated by pidl) Remove ndr_security.h from a few places - it's no longer necessary (This used to be commit c19c2b51d3e1ad347120b06a22bda5ec586c22e8)
2007-10-10r15048: started on the server side implementation of oplocks. The code is notAndrew Tridgell1-22/+83
functional yet, I'm committing so it doesn't diverge too much from other peoples work. It is disabled by default. (This used to be commit ba0b8a218dfe1ef6cdf7de724fb30650301369dd)
2007-10-10r14966: make more functions _PUBLIC_Stefan Metzmacher1-19/+19
metze (This used to be commit 193f7da254cce40ab30fda9e99b8cd07e0b0a0a8)
2007-10-10r14736: - the ntvfs subsystem should not know about smb_server.hStefan Metzmacher1-1/+1
- the process module subsystem should not know about smb_server.h - the smb_server module should not know about process models metze (This used to be commit bac95bb8f4ad35a31ee666f5916ff9b2f292d964)
2007-10-10r13739: a fairly major overhaul of the opendb code to allow the BASE-DELETEAndrew Tridgell1-233/+241
test to pass. To try to make the code a bit more understandable, I moved to using an IDL description of the opendb tdb record format. One of the larger changes was to make directory opens and creates go via the opendb code, so directory operations now obey all the share mode restrictions, as well as delete on close semantics. I also changed the period over which the opendb locks are held, to try to minimise races due to two open operations happening at the same time. (This used to be commit cd2602d05725e1734b0862131dd91601c6b6d51a)
2007-10-10r13708: fix compiler warningsStefan Metzmacher1-3/+3
metze (This used to be commit 830c42afda70c616ccd32703c6e7c47f38c2271c)
2007-10-10r13276: start to work towards the BASE-DELETE test passing. This changeAndrew Tridgell1-11/+22
ensures that we give the right error code to opens that are denied due to the file having delete pending set (This used to be commit c5b709fae66f9135e5c0e2eeb2e25dd8837b64de)
2007-10-10r12694: Move some headers to the directory of the subsystem they belong to.Jelmer Vernooij1-1/+2
(This used to be commit c722f665c90103f3ed57621c460e32ad33e7a8a3)
2007-10-10r7621: Trivial reformatting while trying to understand share modes. Still ↵Volker Lendecke1-21/+16
survives smbtorture *DENY* . Volker (This used to be commit da78ed1a4d1f7966d8013278436a710d258879e1)
2007-10-10r7294: implemented the irpc messaging system. This is the core of theAndrew Tridgell1-0/+1
management system I proposed on samba-technical a couple of days ago. Essentially it is a very lightweight way for any code in Samba to make IDL based rpc calls to anywhere else in the code, without the client or server having to go to the trouble of setting up a full rpc service. It can be used with any of our existing IDL, but I expect it will mostly be used for a new set of Samba specific management calls. The LOCAL-IRPC torture test demonstrates how it can be used by calling the echo_AddOne() call over this transport. (This used to be commit 3d589a09954eb8b318f567e1150b0c27412fb942)
2007-10-10r5307: removed db_wrap.h from includes.hAndrew Tridgell1-0/+1
(This used to be commit 826baec7b348814a7bbdcdbec8c8526514f25da1)
2007-10-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell1-0/+1
less likely that anyone will use pstring for new code - got rid of winbind_client.h from includes.h. This one triggered a huge change, as winbind_client.h was including system/filesys.h and defining the old uint32 and uint16 types, as well as its own pstring and fstring. (This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10r5296: - only include the tdb headers where they are neededAndrew Tridgell1-0/+1
- removed the u32 hack in events.c as I think this was only needed as tdb.h defines u32. Metze, can you check that this hack is indeed no longer needed on your suse system? (This used to be commit 6f79432fe656164d4770dbce114a30dda5e7bf9a)
2007-10-10r5102: This is a major simplification of the logic for controlling top levelAndrew Tridgell1-3/+3
servers in smbd. The old code still contained a fairly bit of legacy from the time when smbd was only handling SMB connection. The new code gets rid of all of the smb_server specific code in smbd/, and creates a much simpler infrastructures for new server code. Major changes include: - simplified the process model code a lot. - got rid of the top level server and service structures completely. The top level context is now the event_context. This got rid of service.h and server.h completely (they were the most confusing parts of the old code) - added service_stream.[ch] for the helper functions that are specific to stream type services (services that handle streams, and use a logically separate process per connection) - got rid of the builtin idle_handler code in the service logic, as none of the servers were using it, and it can easily be handled by a server in future by adding its own timed_event to the event context. - fixed some major memory leaks in the rpc server code. - added registration of servers, rather than hard coding our list of possible servers. This allows for servers as modules in the future. - temporarily disabled the winbind code until I add the helper functions for that type of server - added error checking on service startup. If a configured server fails to startup then smbd doesn't startup. - cleaned up the command line handling in smbd, removing unused options (This used to be commit cf6a46c3cbde7b1eb1b86bd3882b953a2de3a42e)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell1-2/+2
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r4052: fixed a bunch of code to use the type safe _p allocation macrosAndrew Tridgell1-8/+6
(This used to be commit 80d15fa3402a9d1183467463f6b21c0b674bc442)
2007-10-10r4011: get rid of rpc_secdes.h and replace it with a single sane set ofAndrew Tridgell1-12/+17
definitions for security access masks, in security.idl The previous definitions were inconsistently named, and contained many duplicate and misleading entries. I kept finding myself tripping up while using them. (This used to be commit 01c0fa722f80ceeb3f81f01987de95f365a2ed3d)
2007-10-10r3969: fix compiler warningsStefan Metzmacher1-1/+1
metze (This used to be commit 7d24b98f3ff55049a7c0d430c15e0a060b4aa2d3)
2007-10-10r3798: added support for alternate data streams in xattrs into pvfs.Andrew Tridgell1-2/+13
The trickiest part about this was getting the sharing and locking rules right, as alternate streams are separate locking spaces from the main file for the purposes of byte range locking, and separate for most share violation rules. I suspect there are still problems with delete on close with alternate data streams. I'll look at that next. (This used to be commit b6452c4a2068cf7e837778559da002ae191b508a)
2007-10-10r3615: split out struct pvfs_file_handle from struct pvfs_file. This is inAndrew Tridgell1-22/+13
preparation for adding code to pass the BASE-DENY1 and BASE-DENYDOS tests, which require a shared filesystem handle for some specific combinations of two DENY_DOS opens on the same connection. (This used to be commit 6e4fdf01d19051e3923d7703dbf990fc1722b09a)
2007-10-10r3597: implement a suggestion from abartlet. By taking a refernce to theAndrew Tridgell1-1/+1
database in the opendb lck, we ensure that the database is not closed before the lock is gone. That ensures the lock destructor doesn't work on a closed database. (This used to be commit 218e01441aa1def3e8e884c8d618a95c9ffdfc1b)
2007-10-10r3539: much nicer async open delay code.Andrew Tridgell1-2/+4
The previous code didn't handle the case where the file got renamed or deleted while waiting for the sharing violation delay. To handle this we need to make the 2nd open a full open call, including the name resolve call etc. Luckily this simplifies the logic. I also expanded the RAW-MUX test to include the case where we do open/open/open/close/close, with the 3rd open async, and that open gets retried after both the first close and the 2nd close, with the first retry failing and the 2nd retry working. The tests the "async reply after a async reply" logic in pvfs_open(). (This used to be commit eded2ad9c91f5ba587ef4f7f5f5a6dceb4b51ff3)
2007-10-10r3507: - added deferred replies on sharing violation in pvfs open. TheAndrew Tridgell1-0/+122
deferred reply is short-circuited immediately when the file is closed by another user, allowing it to be opened by the waiting user. - added a sane set of timeval manipulation routines - converted all the events code and code that uses it to use struct timeval instead of time_t, which allows for microsecond resolution instead of 1 second resolution. This was needed for doing the pvfs deferred open code, and is why the patch is so big. (This used to be commit 0d51511d408d91eb5f68a35e980e0875299b1831)