summaryrefslogtreecommitdiff
path: root/source3/smbd/vfs.c
AgeCommit message (Collapse)AuthorFilesLines
2009-02-09Add an optional SMB_STRUCT_SMB parameter to VFS_OP_READDIRSteven Danneman1-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
2009-02-09s3 oplocks: Make the level2 oplock contention API more granularTim Prouty1-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.
2009-02-09s3 vfs: Add a destructor to the fsp extension data APITim Prouty1-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.
2009-01-08s3:smbd: move all globals and static variables in globals.[ch]Stefan Metzmacher1-4/+1
The goal is to move all this variables into a big context structure. metze
2008-10-14Use {u,}int64_t instead of SMB_BIG_{U,}INT.Jelmer Vernooij1-6/+6
2008-05-05Remove connection_struct->mem_ctx, connection_struct is its own parentVolker Lendecke1-3/+3
(This used to be commit 559180f7d30606d1999399d954ceedc798c669a4)
2008-01-11Combine fsp and tofd to tofsp in SMB_VFS_RECVFILE().Michael Adam1-2/+0
Michael (This used to be commit 3958abffaf2866c69ad9e13ec345364fde5c78bb)
2008-01-10Remove redundant parameter fd from SMB_VFS_WRITE().Michael Adam1-2/+2
Michael (This used to be commit c8ae7d095a2a6a7eac920a68ca7244e3a423e1b1)
2008-01-10Remove redundant parameter fd from SMB_VFS_READ().Michael Adam1-3/+3
Michael (This used to be commit a8fc2ddad8d5f7c6c00cb36c74a32a02d69d1d04)
2008-01-10Make casts to (void *) explicit to remove compiler warnings.Michael Adam1-1/+2
Michael (This used to be commit cbbfbd7a63fe0fc479a1b63b4552c713633dd6be)
2008-01-10Correctly abstract the transfer_file mechanism with callbacks and void ptrs.Michael Adam1-11/+9
This removes the in_fsp and out_fsp global variables hack from smbd/vfs.c. Michael (This used to be commit b2e7cdc6e899ca3c16edbb6c8786ff9aa999fa6e)
2008-01-09Make use of talloc_pool in the main codepaths. Remove the sub-contexts.Jeremy Allison1-9/+4
Jeremy. (This used to be commit bc932b8ad4396f76b71c43efe9a6346f89c3632c)
2008-01-07Remove redundant parameter fd from SMB_VFS_FTRUNCATE().Michael Adam1-2/+2
Michael (This used to be commit 2ad66050a0452b8e7e08b1e7a01efa00c72fd451)
2008-01-07Remove redundant parameter fd from SMB_VFS_FSTAT().Michael Adam1-2/+2
Michael (This used to be commit 0b86c420be94d295f6917a220b5d699f65b46711)
2008-01-07Remove redundant parameter fd from SMB_VFS_PWRITE().Michael Adam1-3/+3
Michael (This used to be commit 8c4901a19ae2fd3ee085f9499f33aa7db016d182)
2008-01-07Remove unneeded parameter fd from SMB_VFS_PREAD().Michael Adam1-1/+1
Michael (This used to be commit 73e28806ce87d829ea7c38ed3440020845bb13bf)
2007-12-29Apply some constVolker Lendecke1-4/+4
(This used to be commit 241b72141e3d9e31e30977517f871a97d74bbf7d)
2007-12-21Fix a C++ warningVolker Lendecke1-1/+1
(This used to be commit 7e1d9b561f6df233b8c7eaec83d1e4207b5a2fb0)
2007-12-19Expose per-fsp extension talloc context.James Peach1-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)
2007-12-18Add a in-memory cacheVolker Lendecke1-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)
2007-11-10Always define PATH_MAX. Makes code simpler (removesJeremy Allison1-12/+0
a bunch of #defines). Remove pstring from msdfs.c. Jeremy. (This used to be commit e203ba22275320808bc11b17361ad1f2d5b0b897)
2007-10-31Make explicit draining the socket on RECVFILE. AddJeremy Allison1-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)
2007-10-30Ensure we don't prematurely clean out the bytes read.Jeremy Allison1-4/+10
Jeremy. (This used to be commit 247675695dfbff503b5792de62f8bb1567ea2327)
2007-10-30Add new parameter, "min receivefile size" (by default setJeremy Allison1-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)
2007-10-28Enable vfs objects = /full/path/to/object.soVolker Lendecke1-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)
2007-10-18RIP BOOL. Convert BOOL -> bool. I found a few interestingJeremy Allison1-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)
2007-10-10r25117: The mega-patch Jerry was waiting for. Remove all pstrings fromJeremy Allison1-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)
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-10r23761: Rename reduce_name to check_reduced_nameVolker Lendecke1-1/+1
The function name reduce_name is misleading, making the user believe it changes an argument. (This used to be commit 68234f0bc6fb4d6d99ae94ff067db118c60804aa)
2007-10-10r22542: Move over to using the _strict varients of the tallocJeremy Allison1-1/+1
calls. No functional changes. Looks bigger than it is :-). Jeremy. (This used to be commit f6fa3080fee1b20df9f1968500840a88cf0ee592)
2007-10-10r22132: I hate inefficiency. Don't call conv_str_size()Jeremy Allison1-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)
2007-10-10r21131: Some notify fixesVolker Lendecke1-1/+6
(This used to be commit b9300e1d5acba4e2537fcc6631d1ee4d53685f64)
2007-10-10r21082: Make canonicalize_path static to service.c -- we do have ↵Volker Lendecke1-25/+0
conn->connectpath (This used to be commit 06f58096e3785d0e2e0b9f2053d4975e44568e15)
2007-10-10r21063: All case statements are now NTSTATUS returningJeremy Allison1-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)
2007-10-10r20844: Somewhat radical change - this may break the build (I willJeremy Allison1-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)
2007-10-10r20340: Join vfs_MkDir to its only callerVolker Lendecke1-31/+0
(This used to be commit cce911780fc52ea56dccde1879b0891cdf9ea320)
2007-10-10r20228: Bring the calling conventions of inherit_access_acl and ↵Volker Lendecke1-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)
2007-10-10r20227: Simplify logic in vfs_MkDir() a bitVolker Lendecke1-11/+15
(This used to be commit b24cf79e9ec914ac33f1a20524e5ffa7fe1cba5e)
2007-10-10r19147: This is WRONG, but the way the VFS works this is the only fix to get ↵Volker Lendecke1-1/+1
rid of this type-punned warning. Volker (This used to be commit d815b1a7e9609a760f93433bf022826f58f256db)
2007-10-10r17348: Some C++ warningsVolker Lendecke1-3/+3
(This used to be commit ae6b9b34e59167e3958bfdb9997fa25340b9a0a3)
2007-10-10r16945: Sync trunk -> 3.0 for 3.0.24 code. Still needJeremy Allison1-137/+80
to do the upper layer directories but this is what everyone is waiting for.... Jeremy. (This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10r15283: Oh yeah. The build farm doesn't do much with head. OK, here is the ↵Paul Green1-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)
2007-10-10r15018: Merge Volker's ipc/trans2/nttrans changes overJeremy Allison1-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)
2007-10-10r14746: Add the Samba4 replacements for opendir/readdir etc. toJeremy Allison1-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)
2007-10-10r11428: Fix bug #3192 by actually hooking up the dfree cachingJeremy Allison1-1/+1
function. Oops. Jeremy. (This used to be commit 7edb26e7657fc01710abe563b941779749409ef2)
2007-10-10r11232: Added ab's POSIX statvfs vfs call. Sorry for the delay ab.Jeremy Allison1-0/+1
Jeremy. (This used to be commit af8545806770a7530eecc184bdd230ca14999884)
2007-10-10r8219: Merge the new open code from HEAD to 3.0. Haven't yet run the tortureJeremy Allison1-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)
2007-10-10r7963: Add aio support to 3.0.Jeremy Allison1-15/+24
Jeremy. (This used to be commit 1de27da47051af08790317f5b48b02719d6b9934)
2007-10-10r6841: Attempt to fix buf #2681. With "strict allocate = yes" we now zeroJeremy Allison1-0/+66
fill when a file is extended. Should catch disk full errors on write from MS-Office. Jeremy. (This used to be commit 858824f37be443320487a8e28ec8fa172cdf5a18)