summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_rename.c
AgeCommit message (Collapse)AuthorFilesLines
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-10r14941: a rename of a file (but not a directory) triggers 3 events. The firstAndrew Tridgell1-1/+11
two are the rename (FROM and TO) then the 3rd event is a modify event of both attributes and creation time. (This used to be commit 010a1b14a58c0194e1f8bba29f4d02a86b7559c5)
2007-10-10r14933: fix the handling of notify filters to be much closer to the behaviourAndrew Tridgell1-14/+21
of w2k3. The behaviour is particularly tricky for rename. (This used to be commit 4d3b8d95498a328ffc08ecb62d9531b6bfe4e2b5)
2007-10-10r14925: trigger NOTIFY_ACTION_OLD_NAME and NOTIFY_ACTION_NEW_NAME events forAndrew Tridgell1-26/+54
renames, if in the same directory. For renames between directories generate NOTIFY_ACTION_REMOVED and NOTIFY_ACTION_ADDED (This used to be commit 2ac248edf05c3ee715165f2b33055de480743e87)
2007-10-10r14808: added notify_trigger() calls for rename and setfileinfo callsAndrew Tridgell1-0/+7
(This used to be commit adb4ea32e2d5506cb213ea4c0715918042fba084)
2007-10-10r14464: Don't include ndr_BASENAME.h files unless strictly required, insteadJelmer Vernooij1-1/+1
try to include just the BASENAME.h files (containing only structs) (This used to be commit 3dd477ca5147f28a962b8437e2611a8222d706bd)
2007-10-10r14157: - pass a struct ntvfs_request to the ntvfs layerStefan Metzmacher1-5/+5
(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-4/+11
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-10r4615: added acl checking on directory search in pvfsAndrew Tridgell1-5/+5
(This used to be commit 0e61a422bd9a1596a284c176f033e958bbeaa8ce)
2007-10-10r4584: fix pvfs backend to pass the new enhanced RAW-ACLS test. Easy once I ↵Andrew Tridgell1-4/+4
really the strange behaviour I saw was a w2k3 bug :-) (This used to be commit e729061bcde25d0565a72222e4720ca8074ef23f)
2007-10-10r4549: got rid of a lot more uses of plain talloc(), instead usingAndrew Tridgell1-1/+1
talloc_size() or talloc_array_p() where appropriate. also fixed a memory leak in pvfs_copy_file() (failed to free a memory context) (This used to be commit 89b74b53546e1570b11b3702f40bee58aed8c503)
2007-10-10r4547: - added talloc_new(ctx) macro that is a neater form of the common ↵Andrew Tridgell1-1/+1
talloc(ctx, 0) call. - cleaned up some talloc usage in various files I'd like to get to the point that we have no calls to talloc(), at which point we will rename talloc_p() to talloc(), to encourage everyone to use the typesafe functions. (This used to be commit e6c81d7c9f8a6938947d3c1c8a971a0d6d50b67a)
2007-10-10r4410: pvfs_rename_one() should not check for create permissions, as the renameAndrew Tridgell1-14/+7
is always in the same directory (This used to be commit babf3480a4c29ce28d9a4525c4174a3d765dcbab)
2007-10-10r4408: added the remaining access check hooks into pvfs. All calls should ↵Andrew Tridgell1-0/+22
now have acl checking, and obey the various inheritance rules. (This used to be commit 5fe51807d6b97e68b65f152c0f405e5c5a025d21)
2007-10-10r4314: added ACL checking on unlinkAndrew Tridgell1-1/+1
(This used to be commit f25c469693517ed993e0379d8b07cd7eb235a669)
2007-10-10r3798: added support for alternate data streams in xattrs into pvfs.Andrew Tridgell1-2/+8
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-6/+4
(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-10r3718: added support for the ntrename level in pvfs_rename().Andrew Tridgell1-8/+114
(This used to be commit 3d50982f5419b9a5c53f2b82a2313669cdeaaa21)
2007-10-10r3717: - expanded the RAW-RENAME test a littleAndrew Tridgell1-3/+222
- added support for wildcard rename in pvfs - made more consistent use of pvfs_map_errno() (This used to be commit e255d1c3a811c480a850452aaf636d9fa36f69fe)
2007-10-10r3574: the RAW-OPEN test changes broke a couple of the other tests. ThisAndrew Tridgell1-1/+1
fixes most of them, although RAW-SEARCH still fails (due to an interaction with the new xattr code) (This used to be commit 09b4652b40c4cfca027765178bd5a0adbaa666c2)
2007-10-10r3544: fixed some #include lines to make them more consistentAndrew Tridgell1-1/+1
(This used to be commit a1a0118bd3f1cae034a1c564d05c3aa8019ff932)
2007-10-10r3192: make sure we don't call pvfs_can_delete() until after we have ↵Andrew Tridgell1-10/+5
confirmed that name->exists it true (This used to be commit d368d2f4fe23bdc13f6b9bbdc044dd158ab61169)
2007-10-10r3189: improved the share_conflict() logic (both in terms of readability andAndrew Tridgell1-3/+8
correctness). pvfs now passes the BASE-RENAME test. (This used to be commit 4cf3f65a5c19fdad62a0bdef225b2d9002cf8c8b)
2007-10-10r3177: check for open files on renameAndrew Tridgell1-0/+5
(This used to be commit c334182095c53b09fcb65a40053b518acb6ec38b)
2007-10-10r3133: - more consistent error checking in rename and setfileinfoAndrew Tridgell1-1/+1
- add paranoid checking of device/inode change during open to detect race conditions (This used to be commit 043361fed487ed494fa497ffde1007b3f3bc0c29)
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-10r2524: a simple pvfs rename implementation to make testing easierAndrew Tridgell1-0/+69
(This used to be commit 98c1c75076fdb0df3a7c616f8c2e1ed138a6ff9a)