summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_unlink.c
AgeCommit message (Collapse)AuthorFilesLines
2008-03-15pvfs_unlink: disable async retries for wildcard deletesStefan Metzmacher1-0/+6
We would setup multiple retries per client request. metze (This used to be commit 951764e28407a53ea4dd39d34388fab1b2259785)
2008-02-26pvfs_unlink: retry unlink after oplock not grantedStefan Metzmacher1-1/+93
metze (This used to be commit 746e89ce2e74dbd2cea8f5575c403e4c61f82cb8)
2008-02-25pvfs_unlink: move stream logic into pvfs_unlink_one()Stefan Metzmacher1-34/+8
metze (This used to be commit 438032e12f3040fbb58488ca537e4d8da39b6124)
2008-02-25pvfs_unlink: splitup the logic into generic and file specific functionsStefan Metzmacher1-17/+28
metze (This used to be commit 7572afdc2635bdf9afbe1eda3c7498d0b5201db3)
2008-02-25pvfs_unlink: add a fast path for the non wildcard caseStefan Metzmacher1-0/+4
metze (This used to be commit 83e6c99f78990b6b1df520bdee14b9f931ad0420)
2008-02-25pvfs_unlink: move !name->stream_exists into the callerStefan Metzmacher1-4/+4
metze (This used to be commit e01554e1617dc3c08a4ed6b4e016fd627f529ef9)
2008-02-25pvfs_unlink: pass down union smb_unlink completely to sub functionsStefan Metzmacher1-8/+10
metze (This used to be commit 8301189e94be850494482e8c064b2400a5d11157)
2008-02-25pvfs_unlink: pass down a struct pvfs_filename to pvfs_unlink_one()Stefan Metzmacher1-16/+14
metze (This used to be commit 43ec7fa2d898ce306557ea9092b6412bcc2f97ec)
2008-02-25pvfs: pass NULL to pvfs_can_*() when no odb_lock is needed by the callerStefan Metzmacher1-4/+2
metze (This used to be commit e585e2306334bd919f567f53d8d08903dfdfb102)
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-10r18319: fixed the directory search resume code on IRIXAndrew Tridgell1-1/+1
The problem was twofold: 1) irix returns 64 bit numbers in telldir(). The protocol uses a 32 bit resume key. We now cope with this properly using the code in pvfs_list_seek_ofs(). 2) irix returns 0xFFFFFFFF from telldir() for the last entry in the directory. When added to DIR_OFFSET_BASE this became DIR_OFFSET_DOTDOT which meant an infinite loop! (This used to be commit 8cce9740ed0da9f08d6821beb4acaa9d28d149c2)
2007-10-10r15186: Introduce ISDOT and ISDOTDOT macros for testing whether a filename isJames Peach1-2/+2
"." for "..". These express the intention better that strcmp or strequal and improve searchability via cscope/ctags. (This used to be commit 7e4ad7e8e5ec266b969e3075c4ad7f021571f24e)
2007-10-10r14797: added checking of the filter in notify requestsAndrew Tridgell1-1/+3
(This used to be commit 1db0a5a7f4c1ff915d91bc15d8e40cc90a78961d)
2007-10-10r14616: added notify change support to the posix backendAndrew Tridgell1-0/+5
It doesn't fully work yet, and doesn't yet have all the efficiency that is planned, but it doesn't break anything and I wanted to get the code in the tree to minimise the chance of collisions with the work metze is doing. (This used to be commit 1624ea88e6eef89caacc36e7513aa79df0d579b9)
2007-10-10r14173: change smb interface structures to always useStefan Metzmacher1-5/+6
a union smb_file, to abtract - const char *path fot qpathinfo and setpathinfo - uint16_t fnum for SMB - smb2_handle handle for SMB2 the idea is to later add a struct ntvfs_handle *ntvfs so that the ntvfs subsystem don't need to know the difference between SMB and SMB2 metze (This used to be commit 2ef3f5970901b5accdb50f0d0115b5d46b0c788f)
2007-10-10r14157: - pass a struct ntvfs_request to the ntvfs layerStefan Metzmacher1-3/+3
(for now we just do #define ntvfs_request smbsrv_request, but it's the first step...) - rename ntvfs_openfile() -> ntvfs_open() - fix the talloc hierachie in some places in the ntvfs_map_*() code metze (This used to be commit ed9ed1f48f602354810937c0b0de850b44322191)
2007-10-10r13739: a fairly major overhaul of the opendb code to allow the BASE-DELETEAndrew Tridgell1-2/+4
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-10r4406: - don't call the xattr unlink hook on unlink unless the link count is ↵Andrew Tridgell1-3/+5
1, otherwise the xattrs of the remaining link are removed - fix the handling of attribute set on directories (This used to be commit fa44e3cce00b75656c85378c7825960540d2f282)
2007-10-10r4314: added ACL checking on unlinkAndrew Tridgell1-6/+9
(This used to be commit f25c469693517ed993e0379d8b07cd7eb235a669)
2007-10-10r4242: added support for storing xattrs in a tdb. This allows all advanced NTAndrew Tridgell1-0/+5
attributes (streams, EAs, NT ACLs, timestamps etc) to be used on filesystems that don't support xattrs. It also allows for large streams, although they are very inefficient. I won't enable this by default, as I really wrote it as a way of testing large stream support while still using ext3, but perhaps with a bit more work this could be generally usable. To enable this use: posix:eadb = /home/test/myeas.tdb (This used to be commit 0c927d912cb65754351189d3a0442004a14aa5c6)
2007-10-10r3798: added support for alternate data streams in xattrs into pvfs.Andrew Tridgell1-1/+32
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-10r3747: - added some of the infrastructure needed for streams support in pvfsAndrew Tridgell1-1/+2
(the IDL, and the load/save meta-data logic) - changed pvfs_resolve_name() to default to non-wildcard, needing PVFS_RESOLVE_WILDCARD to enable wildcards. Most callers don't want wildcards, so defaulting this way makes more sense. - fixed deletion of EAs (This used to be commit e7afd4403cc1b7e0928776929f8988aa6f15640b)
2007-10-10r3544: fixed some #include lines to make them more consistentAndrew Tridgell1-1/+1
(This used to be commit a1a0118bd3f1cae034a1c564d05c3aa8019ff932)
2007-10-10r3262: - new pvfs_dirlist code that reopens the directory between searchAndrew Tridgell1-11/+7
calls. This is needed to allow for "new files appear during a search" behaviour - pvfs now passes RAW-SEARCH (This used to be commit 0d98f7653a1d58510a6cd4c2ac6c5e05c541109c)
2007-10-10r3260: redid the pvfs_dirlist() interface in preparation for a "keepAndrew Tridgell1-13/+12
directory open" implementation, as opposed to the "load the whole directory" interface used now. This will be needed to pass RAW-SEARCH (This used to be commit 692623c6c0a2c6817fddfa77cd1c2525c27145c4)
2007-10-10r3240: - update the rules for what error codes should be given on theAndrew Tridgell1-3/+23
different type of unlink an seach mismatches - wildcard directory listings that have attribute FILE_ATTRIBUTE_DIRECTORY and match "." or ".." should be failed. - don't set the write_time on SMBclose unless it is non-zero - added much better support for setfileinfo and setpathinfo in pvfs - better (and more efficient) handling of .. and . components in filenames (This used to be commit 9305b07af395a158cb9f0c1c9486f7122c79d357)
2007-10-10r3207: - reformat error msgs in BASE-DIR* testsAndrew Tridgell1-1/+1
- added support for mandatory attributes in old style directory search - we now pass BASE-DIR1 and BASE-DIR2 (This used to be commit efaa0eaec49e952aa515c3448246d9048a484c26)
2007-10-10r3189: improved the share_conflict() logic (both in terms of readability andAndrew Tridgell1-4/+5
correctness). pvfs now passes the BASE-RENAME test. (This used to be commit 4cf3f65a5c19fdad62a0bdef225b2d9002cf8c8b)
2007-10-10r3179: - fixed error return on utime failureAndrew Tridgell1-1/+2
- formatting fix (This used to be commit 8ca4d7c51e5c76aa28f600d49437a45a8a0d31a9)
2007-10-10r3174: added pvfs_is_open() to allow us to check for open files on unlink. WeAndrew Tridgell1-0/+4
now pass BASE-UNLINK. (This used to be commit f23a2f8538bda8f6790e86c93ee22436388b2975)
2007-10-10r2751: this is a new ntvfs design which tries to solve:Stefan Metzmacher1-2/+3
- the stacking of modules - finding the modules private data - hide the ntvfs details from the calling layer - I set NTVFS_INTERFACE_VERSION 0 till we are closer to release (because we need to solve some async problems with the module stacking) metze (This used to be commit 3ff03b5cb21bb79afdd3b1609be9635f6688a539)
2007-10-10r2561: completely redid the ntvfs module chaining code, You can now do ↵Andrew Tridgell1-1/+1
something like: ntvfs handler = nbench posix and the nbench pass-thru module will be called before the posix module. The chaining logic is now much saner, and less racy, with each level in the chain getting its own private pointer rather than relying on save/restore logic in the pass-thru module. The only pass-thru module we have at the moment is the nbench one (which records all traffic in a nbench compatibe format), but I plan on soon writing a "unixuid" pass-thru module that will implement the setegid()/setgroups()/seteuid() logic for standard posix uid handling. This separation of the posix backend from the uid handling should simplify the code, and make development easier. I also modified the nbench module so it can do multiple chaining, so if you want to you can do: ntvfs module = nbench nbench posix and it will save 2 copies of the log file in /tmp. This is really only useful for testing at the moment until we have more than one pass-thru module. (This used to be commit f84c0af35cb54c8fdc4933afefc18fa4c062aae4)
2007-10-10r2436: the second big lump of posix vfs code.Andrew Tridgell1-1/+1
this is still just a skeleton, and many of the functions are just based on the simple vfs backend, they are there to allow me to run smbtorture tests against the real parts of the posix backend. (This used to be commit f2fa7fe565e89360dba3bb5434d3a6a36f398348)
2007-10-10r2404: the first large lump of posix vfs stuff.Andrew Tridgell1-0/+111
this is still very much a skeleton (with many limbs missing too!). I am committing this early to get some feedback on the approach taken. (This used to be commit 40d5cae5ebbfe328e193eadb685df6a370730299)