deleting a directory does not check that it is empty

[Imported from Trac: page SftpFrontend, version 64]
davidsarah 2011-02-17 01:56:55 +00:00
parent 25577878cd
commit f850187530

@ -22,6 +22,8 @@ Since Tahoe uses capability access control rather than Unix-style permissions, t
See the last section of [docs/frontends/FTP-and-SFTP.rst](http://tahoe-lafs.org/trac/tahoe-lafs/browser/docs/frontends/FTP-and-SFTP.rst) for information on how the SFTP frontend treats immutable and mutable files.
Deleting a directory via the SFTP frontend will not check that it is empty. The directory will be unlinked from its parent, but its contents will remain accessible via any other capabilities to it.
The '`ctime`' and '`mtime`' attributes will always be the same, and are set from the Tahoe `linkmotime` timestamp, which is changed only when the link from the parent directory is modified (see the ['About the metadata' section of webapi.rst](http://tahoe-lafs.org/trac/tahoe-lafs/browser/docs/frontends/webapi.rst#about-the-metadata)). These fields are not updated when the contents of a mutable file are changed. The SFTP protocol and the server are able to represent dates up to the year 2106, but some clients may print dates incorrectly after 2037.
Versions of Twisted up to and including 10.2 have [a bug in support for rekeying](http://twistedmatrix.com/trac/ticket/4395). This might cause a hang or 100% CPU usage by the gateway when a client tries to rekey. Depending on the client, rekeying may be triggered based on a time interval or the amount of data sent (for example, 1 GiB to 4 GiB for the openssh client); this problem will typically only affect long-lived connections or very large files. Some clients have options to disable rekeying:
@ -64,6 +66,8 @@ If a file is written via two handles concurrently, the contents visible at any p
If a file in a mutable directory is closed concurrently with an operation that needs to read the directory, then the latter operation may fail (#1105).
A POSIX application might assume that deleting a non-empty directory will fail, when it does not on a Tahoe filesystem (#1362).
The MacFUSE version of sshfs stores "extended attributes" in files with names starting with "`._`". For example the attributes for "`foo.txt`" would be stored in a file called "`._foo.txt`". Since some Mac OS X applications may depend on these attributes (especially for their own file formats), if you need to copy or move the original file then you should copy or move the attribute file along with it. The OS X `cp` and `mv` commands will do this by default; operations using the Tahoe WUI or CLI will not (unless you are moving all files in a directory). Note that filenames beginning with "`.`" are not listed by default by `ls`.
On Mac OS X, TextEdit and vi are known to have problems editing files on a Tahoe-via-sshfs filesystem.