Age | Commit message (Collapse) | Author |
|
Now that we are unifying osxfuse's sshfs into libfuse's version, there
should not be two different version identifiers. Drop osxfuse's one.
|
|
* Fix dependencies of the sshfs.1 target to actually specify sshfs.1.in as a
source.
* Ensure that failures during the generation of sshfs.1 do not result in a
potentially bogus manpage by first outputting the contents to a temporary
file unknown to the Makefile rule and then replacing the target file once
all is known to be OK.
* Use $(AM_V_GEN) in the command to respect automake's silent rules.
|
|
Operating system names are not architectures; therefore, rename the arch
variable to osname to better represent its contents.
While doing this, drop a bunch of unused values from the osname.
|
|
Pull in all changes from osxfuse's fork of sshfs into libfuse's sshfs.
There need not be two different copies of this codebase, particularly
because libfuse's version is already autoconf-ified and can support
multiple platforms.
The merge is mostly clean with just a few manual edits to resolve
conflicts.
|
|
Fix typo in README.md
|
|
Typo fixed
|
|
|
|
|
|
|
|
|
|
This is recommended for forward-compatibility.
|
|
Up to now, the Changelog has essentially been a (manually maintained)
copy of the git commit history. This doesn't seem to have any point
other than following the GNU coding standards. I believe it's much
better to use the Changelog to summarize the release-to-release
changes that are most important for users (as was done in the NEWS
file until now).
|
|
The GNU flavor merely requires to existence of some files (including
README, but we prefer README.md), so there seems to be little point
in using it.
|
|
|
|
Remaining README file is just to make automake happy.
|
|
read from stdin to 1024 characters.
Reported by: Mario A. Valdez-Ramirez.
|
|
|
|
sshfs-fuse always returned 0 in access(file, X_OK) calls, causing nautilus
to prompt "Do you want to run "login.defs", or display its contents?" for
text files that were not executable.
Reported by: Alkis Georgopoulos
|
|
|
|
|
|
|
|
Conflicts:
sshfs.c
|
|
|
|
Accessing directories with many (several thousand) files over sshfs is
slow, because most SFTP server implementations only send a fixed amount
of entries per READDIR command (e.g. OpenSSH SFTP: 100 entries). This
patch implements sending several READDIR commands in parallel, in order
to speed up directory listing in these cases.
An option (sync_readdir) is also added so that users can easily switch
on the old behaviour.
The performance improvement is astonishing. Accessing a directory with
30k files in from a remote server that has a RTT of 15ms via OpenSSH
SFTP:
Synchronous readdir:
$ ./sshfs -o sync_readdir host:/tmp /mnt/temp
$ time "ls" -1 /mnt/temp/test | wc -l
30000
"ls" -1 /mnt/temp/test 0.07s user 0.01s system 1% cpu 6.928 total
Asynchronous readdir:
$ ./sshfs host:/tmp /mnt/temp
$ time "ls" -1 /mnt/temp/test | wc -l
30000
"ls" -1 /mnt/temp/test 0.07s user 0.01s system 12% cpu 0.605 total
Accessing a directory with 100k files shows even more dramatic
improvement:
Synchronous readdir:
$ ./sshfs -o sync_readdir host:/tmp /mnt/temp
$ time "ls" -1 /mnt/temp/test2 | wc -l
100000
"ls" -1 /mnt/temp/test2 0.67s user 1.22s system 0% cpu 3:31.56 total
Asynchronous readdir:
$ ./sshfs host:/tmp /mnt/temp
$ time "ls" -1 /mnt/temp/test2 | wc -l
100000
"ls" -1 /mnt/temp/test2 0.20s user 0.03s system 14% cpu 1.631 total
This can easily be reproduced by creating a directory on a server and
touching a lot of files in it:
$ mkdir /tmp/test
$ cd /tmp/test
$ for i in $(seq 1 30000); do touch $i; done
Signed-off-by: Alexander Neumann <alexander@bumpern.de>
|
|
Reported by Louis-David Mitterrand
|
|
Reported by Ross Lagerwall
|
|
Conflicts:
ChangeLog
configure.ac
sshfs.1.in
sshfs.c
|
|
|
|
|
|
Reported by Joachim Kopp
|
|
|
|
In the past we relied on libosxfuse including a working unnamed semaphore
implmentation for Mac OS X. This will not be the case in future releases of
OSXFUSE, therefore we need to add our own implementation.
|
|
This prevents I/O error being returned after a successful mount if a symlink is
mounted.
Reported by Bart Friederichs
|
|
The only difference between version 2.4.0 and 2.4.1 is the updated man page to
reflect Darwin/OS X specific changes to upstream SSHFS.
|
|
* Volumes are unmounted using "umount" not "fusermount"
* idmap=user is the deafault setting on Darwin/OS X
|
|
|
|
|
|
|
|
otherwise, other local users could change the mapping, and gain access
to things they shouldn't
|
|
Add -o slave. This option routes the sftp communication over stdin and stdout,
bypassing SSH and network.
|
|
|
|
cache.c: In function ‘cache_add_attr’:
cache.c:167:9: warning: variable ‘now’ set but not used [-Wunused-but-set-variable]
cache.c: In function ‘cache_add_dir’:
cache.c:188:9: warning: variable ‘now’ set but not used [-Wunused-but-set-variable]
cache.c: In function ‘cache_add_link’:
cache.c:212:9: warning: variable ‘now’ set but not used [-Wunused-but-set-variable]
|
|
Verified with `cat -vet` and `grep '\s$'`
|
|
|
|
getline() isn't widely available yet, use fgets() instead
|
|
|
|
add a '-o nomap=ignore|error' option, which defaults to 'error'
|
|
UID/GID mapping had been enabled in previous versions of SSHFS for MacFUSE/
OSXFUSE by default. This is the expected behavior.
|
|
|
|
otherwise, other local users could change the mapping, and gain access
to things they shouldn't
|