aboutsummaryrefslogtreecommitdiff
path: root/sshfs.1
AgeCommit message (Collapse)Author
2014-01-08Implement asynchronous readdirAlexander Neumann
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>
2014-01-08Add -o disable_hardlink option (debian bug #670926)Miklos Szeredi
Reported by Louis-David Mitterrand
2013-04-11fix a typo in man pageMiklos Szeredi
2013-02-18fix missing newline in manual pageAlan Jenkins
2012-02-14Add slave option to run sftp over stdin and stdoutChris Wolfe
Add -o slave. This option routes the sftp communication over stdin and stdout, bypassing SSH and network.
2012-02-08Remove some trailing whitespace.Chris Wolfe
Verified with `cat -vet` and `grep '\s$'`
2011-12-21default to erroring if we can't remap a uid/gidMike Kelly
add a '-o nomap=ignore|error' option, which defaults to 'error'
2011-12-20Add -o idmap=file, -o uidmap=FILE, -o gidmap=FILEMike Kelly
These options allow you to create a pair of local files, with username:uid/groupname:gid pairs, one per line. Alternatively, files can be in standard /etc/passwd / /etc/group format. The uid/gids are for the remote server, their local counterparts are looked up with a local getpwnam/getgrnam call. Any stat() calls will show with the remapped local uid/gid, and any chown() calls will be remapped back to the remote uid/gid.
2010-04-28* Set FD_CLOEXEC on fuse device. This prevents deadlocks thatMiklos Szeredi
happen in some circumstances (bugzilla.kernel.org #12864).
2009-07-15Add option 'delay_connect': This will always create the sshfs mount,Miklos Szeredi
even if the connection to the server can't be established.
2009-02-12* Print usage information and version to stdout, not stderr.Miklos Szeredi
Libfuse also needs to be fixed up. Reported by Kārlis Repsons
2008-06-24Add '-F' option to specify the ssh config fileMiklos Szeredi
2008-04-25man page update from BartoszMiklos Szeredi
2008-04-23Add manual pagesshfs_2_0Miklos Szeredi