summaryrefslogtreecommitdiffstats
path: root/source3/smbd/vfs.c
Commit message (Collapse)AuthorAgeFilesLines
* s3: Change the vfs_GetWd cache to use the file_id structTim Prouty2009-02-191-12/+3
|
* Add an optional SMB_STRUCT_SMB parameter to VFS_OP_READDIRSteven Danneman2009-02-091-2/+2
| | | | | | | | * this allows VFS implementations that prefetch stat information on readdir to return it through one VFS call * backwards compatibility is maintained by passing in NULL * if the system readdir doesn't return stat info, the stat struct is set to invalid
* s3 oplocks: Make the level2 oplock contention API more granularTim Prouty2009-02-091-8/+25
| | | | | | | | | | | | | | | | | | 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.
* s3 vfs: Add a destructor to the fsp extension data APITim Prouty2009-02-091-1/+7
| | | | | I'm not certain if the dummy pointer is needed in struct vfs_fsp_data, but I added it to be consistent with the comment below.
* s3:smbd: move all globals and static variables in globals.[ch]Stefan Metzmacher2009-01-081-4/+1
| | | | | | The goal is to move all this variables into a big context structure. metze
* Use {u,}int64_t instead of SMB_BIG_{U,}INT.Jelmer Vernooij2008-10-141-6/+6
|
* Remove connection_struct->mem_ctx, connection_struct is its own parentVolker Lendecke2008-05-051-3/+3
| | | | (This used to be commit 559180f7d30606d1999399d954ceedc798c669a4)
* Combine fsp and tofd to tofsp in SMB_VFS_RECVFILE().Michael Adam2008-01-111-2/+0
| | | | | Michael (This used to be commit 3958abffaf2866c69ad9e13ec345364fde5c78bb)
* Remove redundant parameter fd from SMB_VFS_WRITE().Michael Adam2008-01-101-2/+2
| | | | | Michael (This used to be commit c8ae7d095a2a6a7eac920a68ca7244e3a423e1b1)
* Remove redundant parameter fd from SMB_VFS_READ().Michael Adam2008-01-101-3/+3
| | | | | Michael (This used to be commit a8fc2ddad8d5f7c6c00cb36c74a32a02d69d1d04)
* Make casts to (void *) explicit to remove compiler warnings.Michael Adam2008-01-101-1/+2
| | | | | Michael (This used to be commit cbbfbd7a63fe0fc479a1b63b4552c713633dd6be)
* Correctly abstract the transfer_file mechanism with callbacks and void ptrs.Michael Adam2008-01-101-11/+9
| | | | | | | This removes the in_fsp and out_fsp global variables hack from smbd/vfs.c. Michael (This used to be commit b2e7cdc6e899ca3c16edbb6c8786ff9aa999fa6e)
* Make use of talloc_pool in the main codepaths. Remove the sub-contexts.Jeremy Allison2008-01-091-9/+4
| | | | | Jeremy. (This used to be commit bc932b8ad4396f76b71c43efe9a6346f89c3632c)
* Remove redundant parameter fd from SMB_VFS_FTRUNCATE().Michael Adam2008-01-071-2/+2
| | | | | Michael (This used to be commit 2ad66050a0452b8e7e08b1e7a01efa00c72fd451)
* Remove redundant parameter fd from SMB_VFS_FSTAT().Michael Adam2008-01-071-2/+2
| | | | | Michael (This used to be commit 0b86c420be94d295f6917a220b5d699f65b46711)
* Remove redundant parameter fd from SMB_VFS_PWRITE().Michael Adam2008-01-071-3/+3
| | | | | Michael (This used to be commit 8c4901a19ae2fd3ee085f9499f33aa7db016d182)
* Remove unneeded parameter fd from SMB_VFS_PREAD().Michael Adam2008-01-071-1/+1
| | | | | Michael (This used to be commit 73e28806ce87d829ea7c38ed3440020845bb13bf)
* Apply some constVolker Lendecke2007-12-291-4/+4
| | | | (This used to be commit 241b72141e3d9e31e30977517f871a97d74bbf7d)
* Fix a C++ warningVolker Lendecke2007-12-211-1/+1
| | | | (This used to be commit 7e1d9b561f6df233b8c7eaec83d1e4207b5a2fb0)
* Expose per-fsp extension talloc context.James Peach2007-12-191-2/+14
| | | | | | This patch supplements the fsp extension API with an operation to retrieve the malloc zone pointer for that fsp. (This used to be commit d5d9e4084cfb3db3bebff0334b93f376022ef5d3)
* Add a in-memory cacheVolker Lendecke2007-12-181-111/+57
| | | | | | | | | | | | This is a more general API that caches data with a LRU scheme. See include/cache.h. No comments yet, I'm still working on it. But Jeremy has given me a hint in one of his checkins that he would like to make use of this now. The idea is that we get rid of all our silly little caches and merge them all into one cache that we can then very easily trim, for example even with a smbcontrol message if someone decides memory is tight. The main user is the stat cache, this patch also converts the getwd cache. More caches to come. (This used to be commit 7a911b35713538d82001a3c9f34152e293fe1943)
* Always define PATH_MAX. Makes code simpler (removesJeremy Allison2007-11-101-12/+0
| | | | | | a bunch of #defines). Remove pstring from msdfs.c. Jeremy. (This used to be commit e203ba22275320808bc11b17361ad1f2d5b0b897)
* Make explicit draining the socket on RECVFILE. AddJeremy Allison2007-10-311-10/+8
| | | | | | | | | capability for large UNIX write if not signing and recvfile set. Cope with large UNIX write length on incoming processing. Stevef - we can now test 1-16Mb writes from CIFFS. Jeremy. (This used to be commit 8cf78776b0a44bd026cef3d74eb11cfb415f8303)
* Ensure we don't prematurely clean out the bytes read.Jeremy Allison2007-10-301-4/+10
| | | | | Jeremy. (This used to be commit 247675695dfbff503b5792de62f8bb1567ea2327)
* Add new parameter, "min receivefile size" (by default setJeremy Allison2007-10-301-3/+29
| | | | | | | | | | to zero). If non-zero, writeX calls greater than this value will be left in the socket buffer for later handling with recvfile (or userspace equivalent). Definition of recvfile for your system is left as an exercise for the reader (I'm working on getting splice working :-). Jeremy. (This used to be commit 11c03b75ddbcb6e36b231bb40a1773d1c550621c)
* Enable vfs objects = /full/path/to/object.soVolker Lendecke2007-10-281-10/+36
| | | | | | | | Right now I'm testing a vfs object. I can't right now in make test, because "vfs objects" assumes the .so files to be in $libdir/vfs. This patch parses the module name out of the object name in case it starts with "/". The module name is assumed to be the last path component's basename. (This used to be commit 95cc019af775a6ab28ea602ad767fa54d7c86197)
* RIP BOOL. Convert BOOL -> bool. I found a few interestingJeremy Allison2007-10-181-11/+11
| | | | | | | | 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)
* r25117: The mega-patch Jerry was waiting for. Remove all pstrings fromJeremy Allison2007-10-101-31/+79
| | | | | | | | | the main server code paths. We should now be able to cope with paths up to PATH_MAX length now. Final job will be to add the TALLOC_CTX * parameter to unix_convert to make it explicit (for Volker). Jeremy. (This used to be commit 7f0db75fb0f24873577dcb758a2ecee74fdc4297)
* r23784: use the GPLv3 boilerplate as recommended by the FSF and the license textAndrew Tridgell2007-10-101-2/+1
| | | | (This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
* r23779: Change from v2 or later to v3 or later.Jeremy Allison2007-10-101-1/+1
| | | | | Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
* r23761: Rename reduce_name to check_reduced_nameVolker Lendecke2007-10-101-1/+1
| | | | | | The function name reduce_name is misleading, making the user believe it changes an argument. (This used to be commit 68234f0bc6fb4d6d99ae94ff067db118c60804aa)
* r22542: Move over to using the _strict varients of the tallocJeremy Allison2007-10-101-1/+1
| | | | | | calls. No functional changes. Looks bigger than it is :-). Jeremy. (This used to be commit f6fa3080fee1b20df9f1968500840a88cf0ee592)
* r22132: I hate inefficiency. Don't call conv_str_size()Jeremy Allison2007-10-101-1/+1
| | | | | | | | on every pread/sendfile call, initialize these variables in an allocated struct at connection time and just refer to them directly. Jeremy. (This used to be commit 85df3fca681a44c882f596ef042ad9956c3a63c0)
* r21131: Some notify fixesVolker Lendecke2007-10-101-1/+6
| | | | (This used to be commit b9300e1d5acba4e2537fcc6631d1ee4d53685f64)
* r21082: Make canonicalize_path static to service.c -- we do have ↵Volker Lendecke2007-10-101-25/+0
| | | | | | conn->connectpath (This used to be commit 06f58096e3785d0e2e0b9f2053d4975e44568e15)
* r21063: All case statements are now NTSTATUS returningJeremy Allison2007-10-101-0/+1
| | | | | | | | functions. Now to factor out the post processing and make all cases behave the same (no mixture of "early returns" and "break"s. Jeremy (This used to be commit 7e17e54cb729e34c935927fe69a43690c7f446ae)
* r20844: Somewhat radical change - this may break the build (I willJeremy Allison2007-10-101-23/+17
| | | | | | | | | | | | | watch carefully - so I'm doing it in one transaction so I can roll back). Change check_name(), reduce_name() and dptr_create() to return NTSTATUS. This helps a lot in error path processing and especially in reduce_name() allows us to ditch the flaky and error-prone saving of errno and return errors directly. Jeremy. (This used to be commit 6133a694aa429d638320e39ffe1c49d172583ccf)
* r20340: Join vfs_MkDir to its only callerVolker Lendecke2007-10-101-31/+0
| | | | (This used to be commit cce911780fc52ea56dccde1879b0891cdf9ea320)
* r20228: Bring the calling conventions of inherit_access_acl and ↵Volker Lendecke2007-10-101-1/+3
| | | | | | | | | change_owner_to_parent a bit closer together: Move the lp_inherit_perms() check into the callers. Volker (This used to be commit 0874093e5fff480d8ec442072318525079add633)
* r20227: Simplify logic in vfs_MkDir() a bitVolker Lendecke2007-10-101-11/+15
| | | | (This used to be commit b24cf79e9ec914ac33f1a20524e5ffa7fe1cba5e)
* r19147: This is WRONG, but the way the VFS works this is the only fix to get ↵Volker Lendecke2007-10-101-1/+1
| | | | | | | | | rid of this type-punned warning. Volker (This used to be commit d815b1a7e9609a760f93433bf022826f58f256db)
* r17348: Some C++ warningsVolker Lendecke2007-10-101-3/+3
| | | | (This used to be commit ae6b9b34e59167e3958bfdb9997fa25340b9a0a3)
* r16945: Sync trunk -> 3.0 for 3.0.24 code. Still needJeremy Allison2007-10-101-137/+80
| | | | | | | | to do the upper layer directories but this is what everyone is waiting for.... Jeremy. (This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
* r15283: Oh yeah. The build farm doesn't do much with head. OK, here is the ↵Paul Green2007-10-101-0/+2
| | | | | | patch to SAMBA_3_0 to declare prototypes for the initialization functions. These are the same changes I just made to head. --paulg (This used to be commit 17774387ad879b6a72dd1cf406326318add31b04)
* r15018: Merge Volker's ipc/trans2/nttrans changes overJeremy Allison2007-10-101-0/+1
| | | | | | | | | 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)
* r14746: Add the Samba4 replacements for opendir/readdir etc. toJeremy Allison2007-10-101-1/+1
| | | | | | | | Samba3 - with some 64-bit macro madness. Attempt to fix the broken directory handling in the *BSD-of-the-month club. Jeremy. (This used to be commit fd98427f64f4206c01f16f82fadf24f5863878db)
* r11428: Fix bug #3192 by actually hooking up the dfree cachingJeremy Allison2007-10-101-1/+1
| | | | | | function. Oops. Jeremy. (This used to be commit 7edb26e7657fc01710abe563b941779749409ef2)
* r11232: Added ab's POSIX statvfs vfs call. Sorry for the delay ab.Jeremy Allison2007-10-101-0/+1
| | | | | Jeremy. (This used to be commit af8545806770a7530eecc184bdd230ca14999884)
* r8219: Merge the new open code from HEAD to 3.0. Haven't yet run the tortureJeremy Allison2007-10-101-10/+10
| | | | | | | | | | 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)
* r7963: Add aio support to 3.0.Jeremy Allison2007-10-101-15/+24
| | | | | Jeremy. (This used to be commit 1de27da47051af08790317f5b48b02719d6b9934)