Compare commits

...

40 Commits

Author SHA1 Message Date
Nikolaus Rath 3087690aba Released 2.6 2016-01-28 17:16:08 -08:00
Nikolaus Rath 3a60def57e Rename project from sshfs-fuse to sshfs 2016-01-28 17:15:49 -08:00
Nikolaus Rath f5b939d40c Don't attempt to download FAQ for tarball generation. 2016-01-28 17:13:05 -08:00
Nikolaus Rath 9b3fb20112 Added missing ChangeLog entries for 2.4 and 2.5 2016-01-28 17:13:05 -08:00
Nikolaus Rath d20b25cd2d Enable subdir-objects automake option
This is recommended for forward-compatibility.
2016-01-28 17:13:05 -08:00
Nikolaus Rath 055649e2fa Changed Changelog format
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).
2016-01-28 17:12:49 -08:00
Nikolaus Rath d18349da3b Removed placeholder README file and switch automake to foreign flavor.
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.
2016-01-28 16:52:50 -08:00
Nikolaus Rath cf10c34573 Updated credits from git. 2016-01-28 16:51:08 -08:00
Nikolaus Rath 008cf7bcf4 Renamed README to README.md for Markdown rendering on Github.
Remaining README file is just to make automake happy.
2015-12-21 19:23:10 -08:00
Miklos Szeredi e4e14109ad sshfs: Increase the maximum length of the password
read from stdin to 1024 characters.

Reported by: Mario A. Valdez-Ramirez.
2015-04-14 11:01:19 +02:00
Miklos Szeredi 48122e8043 sshfs-return-the-correct-x_ok-access
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
2014-02-10 14:09:13 +01:00
Miklos Szeredi 6b4415ada4 Released 2.5 2014-01-14 15:23:31 +01:00
Alexander Neumann 6a2d06e36f Implement asynchronous readdir
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-08 16:34:52 +01:00
Miklos Szeredi 334e9e6a27 Add -o disable_hardlink option (debian bug #670926)
Reported by Louis-David Mitterrand
2014-01-08 12:31:18 +01:00
Miklos Szeredi 91c1f2ba9e Map SSH2_FX_FAILURE to ENOTEMPTY for rmdir
Reported by Ross Lagerwall
2014-01-07 18:52:51 +01:00
Miklos Szeredi c1d62f2032 fix a typo in man page 2013-04-11 17:58:21 +02:00
Alan Jenkins 61524cd1e8 fix missing newline in manual page 2013-02-18 14:36:51 +01:00
Miklos Szeredi 9f4ba56b52 Add FIXME for deadlock if $PATH contains mountpoint.
Reported by Joachim Kopp
2013-02-05 12:33:36 +01:00
Miklos Szeredi ce6753c88f When checking root directory use LSTAT not STAT
This prevents I/O error being returned after a successful mount if a symlink is
mounted.

Reported by Bart Friederichs
2012-05-14 16:18:22 +02:00
Miklos Szeredi 857d634e09 Released 2.4 2012-03-08 10:36:10 +01:00
Mike Kelly 4dc10686e0 make sure idmap files aren't writable by others
otherwise, other local users could change the mapping, and gain access
to things they shouldn't
2012-03-08 10:34:39 +01:00
Chris Wolfe b3af91b123 Add slave option to run sftp over stdin and stdout
Add -o slave. This option routes the sftp communication over stdin and stdout,
bypassing SSH and network.
2012-02-14 12:55:15 +01:00
Chris Wolfe acb0832ffd Split fd into separate read and write pipes 2012-02-14 12:55:14 +01:00
Miklos Szeredi c5949f06fa fix unused but set variables
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]
2012-02-08 10:21:33 +01:00
Chris Wolfe b0f3d73028 Remove some trailing whitespace.
Verified with `cat -vet` and `grep '\s$'`
2012-02-08 10:15:52 +01:00
Mike Kelly 75bfa9a6c0 skip blank lines 2011-12-21 10:05:08 +01:00
Mike Kelly e8e26c0bc1 increase portability
getline() isn't widely available yet, use fgets() instead
2011-12-21 10:05:08 +01:00
Mike Kelly cfcae008e3 fix typo in error message 2011-12-21 10:05:08 +01:00
Mike Kelly 7ca565d80d default to erroring if we can't remap a uid/gid
add a '-o nomap=ignore|error' option, which defaults to 'error'
2011-12-21 10:05:08 +01:00
Mike Kelly 301cc5218b Add -o idmap=file, -o uidmap=FILE, -o gidmap=FILE
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.
2011-12-20 15:33:58 +01:00
Mike Kelly d666318c7a Fix a possible small memory leak 2011-12-20 15:33:58 +01:00
Mike Kelly ea0d68651e Fix typo in error message
s/FD_CLOESEC/FD_CLOEXEC/
2011-12-20 15:33:58 +01:00
Miklos Szeredi 2f6665d84e Fix error handling in sshfs_read_end
Reported by Mike Kelly
2011-12-20 14:55:45 +01:00
Miklos Szeredi 2ce4069832 Make chown respect the UID mapping policy
Reported and tested by Vivenzio Pagliari
2011-12-05 13:11:09 +01:00
Miklos Szeredi 97228b866a Submit max 32k reads and writes to the sftp server
Also don't limit the kernel to 64k reads and writes, rather split into
32k sized chunks and send them to the server all at once.  This is
more efficient and less demanding from the server.

Reported by Ludovic Courtès.  Fix suggested by Niels Möller
2011-11-16 14:54:37 +01:00
Miklos Szeredi f3286cdf86 Add locking around modifver and connver 2011-11-14 16:28:13 +01:00
Miklos Szeredi 955751ad36 Fix double free if reconnection races with request sending
Patch by E. Kuemmerle
2011-11-14 15:12:52 +01:00
Miklos Szeredi b5f0c128f5 Remove "-oPreferredAuthentications" from ssh options
Remove "-oPreferredAuthentications" from ssh options if the
"password_stdin" option is used.  Reported by E. Kuemmerle
2011-10-21 17:12:31 +02:00
Miklos Szeredi 77d57a4a5d Add "FIXME: really needs LSETSTAT extension (debian Bug#640038)" 2011-09-23 14:33:32 +02:00
Percy Jahn 19cb995c23 sshfs: fstat workaround
Add "-oworkaround=fstat" for SFTP servers which don't support
the FSTAT message.
2011-08-24 13:22:36 +02:00
10 changed files with 971 additions and 797 deletions
+22 -1
View File
@@ -1 +1,22 @@
Miklos Szeredi <miklos@szeredi.hu>
Current Maintainer
------------------
Nikolaus Rath <Nikolaus@rath.org>
Past Maintainers
----------------
Miklos Szeredi <miklos@szeredi.hu> (until 12/2015)
Contributors (autogenerated list)
---------------------------------
Alan Jenkins <alan.christopher.jenkins@gmail.com>
Alexander Neumann <alexander@bumpern.de>
Chris Wolfe <cwolfe@chromium.org>
Mike Kelly <mike@pair.com>
Miklos Szeredi <miklos@szeredi.hu>
Nikolaus Rath <Nikolaus@rath.org>
Percy Jahn <email@percyjahn.de>
+85 -467
View File
@@ -1,521 +1,139 @@
2011-07-01 Miklos Szeredi <miklos@szeredi.hu>
Release 2.7 (2015-01-28)
------------------------
* Released 2.3
* New maintainer (Nikolaus Rath <Nikolaus@rath.org>)
2011-07-01 Miklos Szeredi <miklos@szeredi.hu>
* Add hard link operation. Works if the server supports the
"hardlink@openssh.com" protocol extension.
Release 2.6 (2014-01-14)
------------------------
2011-03-25 Miklos Szeredi <miklos@szeredi.hu>
* Some performance improvements for large directories.
* New `disable_hardlink` option.
* Various small bugfixes.
* Fix possible deadlock on reconnection. Reported by Florian
Zumbiehl
Release 2.4 (2012-03-08)
------------------------
2011-01-25 Miklos Szeredi <miklos@szeredi.hu>
* New `slave` option.
* New `idmap`, `uidmap` and `gidmap` options.
* Various small bugfixes.
* Fix cleanup when ssh connection is terminated. This prevents
sshfs hanging when the server is rebooted, for example.
Release 2.3 (2011-07-01)
------------------------
2010-03-16 Miklos Szeredi <miklos@szeredi.hu>
* Support hard link creation if server is OpenSSH 5.7 or later
* Small improvements and bug fixes
* Check mount point and options before connecting to ssh server
* New 'delay_connect' option
* Set FD_CLOEXEC on fuse device. This prevents deadlocks that
happen in some circumstances (bugzilla.kernel.org #12864).
Reported by Tim Connors
Release 2.2 (2008-10-20)
------------------------
2009-07-15 Miklos Szeredi <miklos@szeredi.hu>
* Handle numerical IPv6 addresses enclosed in square brackets
* Handle commas in usernames
* Check mountpoint and fuse options before starting an ssh
session (debian bug #535333). This is only supported if compiled
against libfuse-2.6 or later. Reported by Greg Kochanski
Release 2.1 (2008-07-11)
------------------------
* Check that the remote path specified refers to the same type of
file as the mountpoint, i.e. both are directories or both are
non-directories (debian bug #535343). Reported by Greg Kochanski
* Small improvements and bug fixes
* Allow mounting a single non-directory from the server
Release 2.0 (2008-04-23)
------------------------
2009-07-15 Sebastian Dransfeld <sebastid@tango.flipp.net>
* Support password authentication with pam_mount
* Add option 'delay_connect': This will always create the sshfs mount,
even if the connection to the server can't be established.
* Support atomic renames if server is OpenSSH 4.9 or later
2009-01-27 Miklos Szeredi <miklos@szeredi.hu>
* Support getting disk usage if server is OpenSSH 5.1 or later
* Print usage information and version to stdout, not stderr.
Libfuse also needs to be fixed up. Reported by Kārlis Repsons
* Small enhancements and bug fixes
2008-10-20 Miklos Szeredi <miklos@szeredi.hu>
What is new in 1.9
------------------
* Released 2.2
* Fix a serious bug, that could result in sshfs hanging, crashing, or
reporting out-of-memory
2008-10-20 Miklos Szeredi <miklos@szeredi.hu>
What is new in 1.8
------------------
* Escape commas in fsname option if libfuse supports it
* Bug fixes
2008-10-08 Miklos Szeredi <miklos@szeredi.hu>
What is new in 1.7
------------------
* Handle numerical IPv6 addresses enclosed in square brackets.
Reported by Andre-John Mas
* Tolerate servers which print a banner on login
* Fix error if username contains a comma character. Reported by
Yang Zhang
* Small improvements
* Fix harmless glib assertations with "cache=no"
What is new in 1.6
------------------
2008-07-11 Miklos Szeredi <miklos@szeredi.hu>
* Workaround for missing truncate operation on old sftp servers
* Released 2.1
* Bug fixes
2008-07-11 Miklos Szeredi <miklos@szeredi.hu>
What is new in 1.5
------------------
* Fix statvfs extension to match the current protocol in
opensshfs
* Improvements to read performance. Now both read and write
throughput should be very close to 'scp'
* Check version numbers of extensions, so such changes wouldn't
cause stupid behavior
* If used with FUSE 2.6.0 or later, then perform better data caching.
This should show dramatic speed improvements when a file is opened
more than once
2008-06-24 Miklos Szeredi <miklos@szeredi.hu>
* Bug fixes
* Add '-F' option to specify the ssh config file. Patch by Pat
Pascal.
What is new in 1.4
------------------
2008-05-06 Miklos Szeredi <miklos@szeredi.hu>
* Updated to version 25 of libfuse API
* Fix bug in caching which could cause file corruption for append
mode writes. Reported by Jose Alonso
* This means that the 'cp' of readonly file to sshfs bug is finally
solved (as long as using libfuse 2.5.0 or later *and* Linux 2.6.15
or later)
2008-05-05 Miklos Szeredi <miklos@szeredi.hu>
* Sshfs now works on FreeBSD
* Fix compile on OS X. Original patch from Michael G Schwern
* Added option to "transform" absolute symbolic links
* Fix compile on Solaris. Reported by Jean-Jacques Sarton
What is new in 1.3
------------------
2008-04-23 Miklos Szeredi <miklos@szeredi.hu>
* Add workaround for failure to rename to an existing file
* Released 2.0
* Simple user ID mapping
2008-04-23 Miklos Szeredi <miklos@szeredi.hu>
* Estimate disk usage of files based on size
* Add manual page. Written by Bartosz Fenski
* Report "infinite" disk space
2008-04-22 Miklos Szeredi <miklos@szeredi.hu>
* Bug fixes
* Add missing ssh options: ControlMaster, ControlPath,
KbdInteractiveAuthentication, KbdInteractiveDevices, LocalCommand,
RekeyLimit (Debian bug #430225).
What is new in 1.2
------------------
* Allow the '-ossh_command=CMD' command to contain parameters.
Escape charater is backslash.
* Better compatibility with different sftp servers
* Limit write requests to 64kB.
* Automatic reconnect (optional)
* Support "statvfs@openssh.com" extension, which will be available
in OpenSSH 5.1.
What is new in 1.1
------------------
2008-04-21 Miklos Szeredi <miklos@szeredi.hu>
* Performance improvements:
* Fix incorrect disk usage reported by 'du' for files of size 4GB
or above. Reported by Christian Boltz.
- directory content caching
2008-04-16 Miklos Szeredi <miklos@szeredi.hu>
- symlink caching
* If debugging is enabled, print some statistics at exit about the
number of bytes transferred, etc..
- asynchronous writeback
2008-03-31 Miklos Szeredi <miklos@szeredi.hu>
- readahead
* Support "posix-rename@openssh.com" extension available in
OpenSSH 4.9. This allows rename to be atomic even when target
file or directory exists. If available, the extension will be
used instead of the rename operation in the original protocol and
the "-oworkaround=rename" option will be ignored.
* Fixed '-p' option
2008-03-28 Miklos Szeredi <miklos@szeredi.hu>
What is new in 1.0
------------------
* Add support for password authentication with pam_mount.
Original patch and help with testing: John S. Skogtvedt
2008-03-03 Miklos Szeredi <miklos@szeredi.hu>
* Fix ssh debug only appearing if "-d" is used. Reported by
Michael Gorbach
2008-01-03 Miklos Szeredi <miklos@szeredi.hu>
* Fix condition for building of sshnodelay.so
2007-12-17 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.9
2007-12-12 Miklos Szeredi <miklos@szeredi.hu>
* Fix checking for fuse_opt_parse in configure
2007-12-11 Miklos Szeredi <miklos@szeredi.hu>
* Fill in st_ctime attribute with st_mtime, instead of leaving it
zero
* Check for OpenSSH version >= 4.4, and if found, don't build the
sshnodelay.so workaround
2007-12-10 Miklos Szeredi <miklos@szeredi.hu>
* Fix crash on writing files, caused by missing locking around
sshfs_file_get()
* Don't time requests when not debugging
* Add subtype support with libfuse >= 2.7.0
* Abort on allocation failure instead of exit
* Correctly show default of nodelaysrv workaround in help message
2007-05-16 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.8
2007-05-15 Miklos Szeredi <miklos@szeredi.hu>
* Add needed g_thread_init() to fix rare crashes. Reported by
Dimitrios Apostolou
* Fix memory leak in sshfs_open_common()
2007-04-18 Miklos Szeredi <miklos@szeredi.hu>
* Fix crash within gdb, caused by sem_wait() returning with an
error on interrupt. Reported by Dimitrios Apostolou
* Fix spurious cache entries remaining after renaming a directory
2007-02-28 Miklos Szeredi <miklos@szeredi.hu>
* Don't set DISPLAY environment variable to "", because it breaks
ssh-askpass. Make nodelaysrv_workaround default to off, because
with this change it may have security implications.
2007-02-19 Miklos Szeredi <miklos@szeredi.hu>
* OpenSSH sftp-server can read requests faster, than it processes
them, when it's buffer is full it aborts. This can happen on a
large upload to a slow server. Work around this by limiting the
total size of outstanding reqests. Debian bug #365541. Tracked
down by Thue Janus Kristensen
* Add --disable-sshnodelay configure option. The sshnodelay.so
hack shouldnt be needed with OpenSSH client versions >= 4.3
2006-12-20 Miklos Szeredi <miklos@szeredi.hu>
* Work around write performace issues due to missing TCP_NODELAY
in sshd. Reported by Justin Searle
2006-11-10 Miklos Szeredi <miklos@szeredi.hu>
* Fix bug which ommitted directory entries for symlinks with the
-ofollow_symlinks option. Bug reported by Mikael Ståldal
2006-09-29 Miklos Szeredi <miklos@szeredi.hu>
* Fix segfault if there are outstanding writes to the server after
release on the file descriptor. This only happened on FreeBSD.
Reported by Andriy Gapon
2006-08-18 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.7
2006-08-17 Miklos Szeredi <miklos@szeredi.hu>
* Cosmetics on bogus statfs numbers
2006-08-16 Miklos Szeredi <miklos@szeredi.hu>
* Add option 'follow_symlinks' to resolve symlinks on the server.
* On setups where the login shell prints a banner, the sftp
protocol was confused, and bailed out with "reply len too large:
...". So iterate over any rubbish read immediately after login
until a valid reply is found.
* Check remote directory for existence before mounting. Closes
Ubuntu bug #46633
2006-03-10 Miklos Szeredi <miklos@szeredi.hu>
* Use socketpair() instead of pipe() for communication between ssh
and sshfs. Patch from Csaba Henk
* Update to FUSE interface version 26
2006-03-09 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.6
2006-03-09 Miklos Szeredi <miklos@szeredi.hu>
* Fix segfault if remote host is down and reconnection is enabled
2006-03-08 Miklos Szeredi <miklos@szeredi.hu>
* Fix bug in symlink transformation. Reported by Ralf Hoffmann
2006-02-24 Miklos Szeredi <miklos@szeredi.hu>
* Add workaround for broken truncate on old sftp servers. Can be
enabled with '-oworkaround=truncate'. Patch from Joseph M Link
2006-02-23 Miklos Szeredi <miklos@szeredi.hu>
* Avoid double memcpy on writes. Patch by Joseph M Link
* More memory copy avoidance
2006-02-22 Miklos Szeredi <miklos@szeredi.hu>
* Add -fPIC to the comile flags of sshnodelay.so. Reported by
Anthony Kolasny
2006-02-20 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.5
2006-02-19 Miklos Szeredi <miklos@szeredi.hu>
* Fix compilation with old FUSE versions. Report by Kurt George
Gjerde
2006-02-16 Miklos Szeredi <miklos@szeredi.hu>
* Block TERM/INT/HUP/QUIT signals in sshfs reading thread, so they
will always be received by the FUSE main thread. Fixes the
"double ^C" problem seen on FreeBSD.
* Use 'auto_cache' option if available, so that file cache is not
thrown away on each open. This should make repeated reading of a
file much much faster.
2006-01-31 Miklos Szeredi <miklos@szeredi.hu>
* Fix problems with nodelay workaround on FreeBSD.
2006-01-30 Miklos Szeredi <miklos@szeredi.hu>
* Fix data consitency bug if readahead is enabled and writes are
intermixed with reads. Solution is far from optimal, since it
will prevent readahead in the above situation. If used with FUSE
>= 2.6.0 with Linux-2.6.X, readahead will be done by the kernel,
and hence there will be no performance penalty. Bug reported and
test program written by Wolfgang Köbler. Further testing on
FreeBSD by Csaba Henk
2006-01-29 Miklos Szeredi <miklos@szeredi.hu>
* Add '-olarge_read' option for Linux-2.4.*. This should
generally improve download performance
2006-01-27 Miklos Szeredi <miklos@szeredi.hu>
* Add workaround (enabled by default) for ssh clients not setting
TCP_NODELAY on the network connection. Currently this is all
known versions of openssh. This may improve download speed in
some circumstances
* Make it possible to idividually disable workarounds with a "no"
prefix
* Change '-otransform_symlinks' not to prefix with the mountpoint
(which is fragile wrt. moving/binding the mount). Rather convert
absolute symlinks to relative if possible. Does not yet work if
base path is itself relative
2006-01-25 Miklos Szeredi <miklos@szeredi.hu>
* Use TCP_NODELAY socket option for direct connection. This may
improve download speed in some circumstances
2006-01-20 Miklos Szeredi <miklos@szeredi.hu>
* Update to fuse API 2.6
* Don't do readahead in sshfs if it's done in kernel
2006-01-14 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.4
2006-01-09 Miklos Szeredi <miklos@szeredi.hu>
* Added 'transform_symlinks' option to "fix-up" absolute symlinks.
Patch by Paul Jarc
* Add option parsing implementation, so linking with older than
2.5.0 libfuse still works.
2005-12-09 Miklos Szeredi <miklos@szeredi.hu>
* Use new option parsing interface of FUSE
2005-11-28 Miklos Szeredi <miklos@szeredi.hu>
* Set statvfs::f_frsize
2005-11-23 Miklos Szeredi <miklos@szeredi.hu>
* Fix warnings on 64bit systems. Reported by D. R. Evans
2005-11-16 Miklos Szeredi <miklos@szeredi.hu>
* Replace EPROTO with the more portable EIO
* Fix bug in option parsing. Reported by Csaba Henk
2005-10-29 Miklos Szeredi <miklos@szeredi.hu>
* Use FUSE version 25 if available
* Add <sys/socket.h> include. Reported by Csaba Henk
2005-10-29 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.3
2005-10-28 Miklos Szeredi <miklos@szeredi.hu>
* Add atomic create+open and ftruncate operation. This should fix
issues with 'cp' and other programs failing with "Permission
denied". To be effective, needs FUSE version 2.5 and kernel
version 2.6.15 (just a guess, since neither of them is released
yet).
2005-10-27 Miklos Szeredi <miklos@szeredi.hu>
* Add support for SSH protocol version 1. Bug reported by Miklos
Bagi Jr.
2005-10-26 Miklos Szeredi <miklos@szeredi.hu>
* Fix typo (ConnectTimeout -> ConnectionTimeout) in ssh options.
Bug reported by Miklos Bagi Jr.
2005-10-19 Miklos Szeredi <miklos@szeredi.hu>
* GNOME Nautilus fails to copy file to sshfs filesystem, because
FUSE returns zero free space. So instead return huge (999999999
kbytes) amount of free space, yet it should be obvious that the
number is artificial. Bug report by Peter Kronheimer
2005-10-18 Miklos Szeredi <miklos@szeredi.hu>
* Add remote uid detection and translation ('idmap=user' option).
Idea and implementation details worked out by Jean-Marc Valin
2005-10-17 Miklos Szeredi <miklos@szeredi.hu>
* Add one more missing lock.
* Add workaround for failure to rename to an existing file. Based
on patch by Michael Best
2005-10-15 Miklos Szeredi <miklos@szeredi.hu>
* Protect request ID allocation with mutex. Bug report by Tvrtko
Ursulin
2005-08-17 Miklos Szeredi <miklos@szeredi.hu>
* Try to calculate approximate disk usage of files from their
size, so that 'du' returns meaningful results. Problem reported
by Bernd Amend.
2005-08-15 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.2
2005-08-13 Miklos Szeredi <miklos@szeredi.hu>
* Add 'reconnect' option, which tries to reconnect to the server
when the connection is broken. If a password is required for
connection, it is recommended that you install ssh-askpass, and
set the SSH_ASKPASS environment variable (see 'man ssh' for more
details).
2005-05-05 Miklos Szeredi <miklos@szeredi.hu>
* Work around missing truncate() support in some older sftp
servers (only works for zero size truncate). Thanks to Eduard
Czimbalmos for the bug report and help with testing
2005-04-13 Miklos Szeredi <miklos@szeredi.hu>
* Fix compilation with gcc-2.95. Reported by David A. Gershman
2005-03-08 Miklos Szeredi <miklos@szeredi.hu>
* Make it work on server version 2 (e.g. Sun_SSH_1.0.1). Report
and testing by Pieter J. Kersten
2005-03-04 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.1
2005-03-03 Miklos Szeredi <miklos@szeredi.hu>
* Slightly optimize readahead. Still not clever enough to always
keep the pipe filled.
* Add 'sshfs_debug' option
2005-02-17 Miklos Szeredi <miklos@szeredi.hu>
* Parse 'max_read' mount option and if smaller than 65536 forward
to FUSE
2005-02-16 Miklos Szeredi <miklos@szeredi.hu>
* Added simple readahead (big performance gain in case of
sequential read pattern). Can be disabled with '-o no_readahead'
2005-02-14 Miklos Szeredi <miklos@szeredi.hu>
* Added asynchronous writeback (big performance gain) and made
this the default. Can be disabled with '-o sshfs_sync'
2005-02-09 Miklos Szeredi <miklos@szeredi.hu>
* Added option to start arbitary command instead of 'ssh'
* Re-added '-p PORT' as a convenience option, also '-C' works as
in ssh.
2005-02-08 Miklos Szeredi <miklos@szeredi.hu>
* Add caching of symlinks
* Add support for many ssh options to be passed to ssh
* Port number can now actually be specified with "-o port=PORT",
bug spotted by Andrew Ukrainec
2005-02-07 Miklos Szeredi <miklos@szeredi.hu>
* Separate attribute caching to a separate layer
* Add caching of directory contents
2005-02-03 Miklos Szeredi <miklos@szeredi.hu>
Fix PKG_CONFIG_PATH setting in configure.ac (reported by Alpar
Juttner)
2005-01-09 Miklos Szeredi <miklos@szeredi.hu>
* Released 1.0
2004-12-04 Miklos Szeredi <miklos@szeredi.hu>
* Started ChangeLog
* Initial release
+1 -1
View File
@@ -11,7 +11,7 @@ sshfs_LDADD = $(SSHFS_LIBS)
sshfs_CFLAGS = $(SSHFS_CFLAGS)
sshfs_CPPFLAGS = -D_REENTRANT -DFUSE_USE_VERSION=26 -DLIBDIR=\"$(libdir)\"
EXTRA_DIST = sshnodelay.c FAQ.txt
EXTRA_DIST = sshnodelay.c
CLEANFILES = sshnodelay.so
dist_man_MANS = sshfs.1
-112
View File
@@ -1,112 +0,0 @@
What is new in 2.1, 2.2 and 2.3
-------------------------------
* Support hard link creation if server is OpenSSH 5.7 or later
* Check mount point and options before connecting to ssh server
* Handle commas in usernames
* Small improvements and bug fixes
What is new in 2.0
------------------
* Support password authentication with pam_mount
* Support atomic renames if server is OpenSSH 4.9 or later
* Support getting disk usage if server is OpenSSH 5.1 or later
* Small enhancements and bug fixes
What is new in 1.9
------------------
* Fix a serious bug, that could result in sshfs hanging, crashing, or
reporting out-of-memory
What is new in 1.8
------------------
* Bug fixes
What is new in 1.7
------------------
* Tolerate servers which print a banner on login
* Small improvements
What is new in 1.6
------------------
* Workaround for missing truncate operation on old sftp servers
* Bug fixes
What is new in 1.5
------------------
* Improvements to read performance. Now both read and write
throughput should be very close to 'scp'
* If used with FUSE 2.6.0 or later, then perform better data caching.
This should show dramatic speed improvements when a file is opened
more than once
* Bug fixes
What is new in 1.4
------------------
* Updated to version 25 of libfuse API
* This means that the 'cp' of readonly file to sshfs bug is finally
solved (as long as using libfuse 2.5.0 or later *and* Linux 2.6.15
or later)
* Sshfs now works on FreeBSD
* Added option to "transform" absolute symbolic links
What is new in 1.3
------------------
* Add workaround for failure to rename to an existing file
* Simple user ID mapping
* Estimate disk usage of files based on size
* Report "infinite" disk space
* Bug fixes
What is new in 1.2
------------------
* Better compatibility with different sftp servers
* Automatic reconnect (optional)
What is new in 1.1
------------------
* Performance improvements:
- directory content caching
- symlink caching
- asynchronous writeback
- readahead
* Fixed '-p' option
What is new in 1.0
------------------
* Initial release
+11 -13
View File
@@ -26,8 +26,7 @@ Latest version
==============
The latest version and more information can be found on
http://fuse.sourceforge.net/sshfs.html
http://github.com/libfuse/sshfs
How to mount a filesystem
@@ -35,7 +34,7 @@ How to mount a filesystem
Once sshfs is installed (see next section) running it is very simple:
sshfs hostname: mountpoint
sshfs hostname: mountpoint
Note, that it's recommended to run it as user, not as root. For this
to work the mountpoint must be owned by the user. If the username is
@@ -47,28 +46,27 @@ is the home directory.
Also many ssh options can be specified (see the manual pages for
sftp(1) and ssh_config(5)), including the remote port number
('-oport=PORT')
(`-oport=PORT`)
To unmount the filesystem:
fusermount -u moutpoint
fusermount -u moutpoint
Installing
==========
First you need to download FUSE 2.2 or later from:
http://fuse.sourceforge.net
First you need to download FUSE 2.2 or later from
http://github.com/libfuse/libfuse.
You also need to install the devel package for glib2.0. After
installing FUSE, compile sshfs the usual way:
./configure
make
make install (as root)
./configure
make
make install (as root)
And you are ready to go.
If checking out from CVS for the first time also do 'autoreconf -i'
before doing './configure'.
If checking out from git for the first time also do `autoreconf -i`
before doing `./configure`.
+1 -6
View File
@@ -164,7 +164,6 @@ static struct node *cache_get(const char *path)
void cache_add_attr(const char *path, const struct stat *stbuf, uint64_t wrctr)
{
struct node *node;
time_t now;
if (!cache.on)
return;
@@ -172,7 +171,6 @@ void cache_add_attr(const char *path, const struct stat *stbuf, uint64_t wrctr)
pthread_mutex_lock(&cache.lock);
if (wrctr == cache.write_ctr) {
node = cache_get(path);
now = time(NULL);
node->stat = *stbuf;
node->stat_valid = time(NULL) + cache.stat_timeout;
if (node->stat_valid > node->valid)
@@ -185,11 +183,9 @@ void cache_add_attr(const char *path, const struct stat *stbuf, uint64_t wrctr)
static void cache_add_dir(const char *path, char **dir)
{
struct node *node;
time_t now;
pthread_mutex_lock(&cache.lock);
node = cache_get(path);
now = time(NULL);
g_strfreev(node->dir);
node->dir = dir;
node->dir_valid = time(NULL) + cache.dir_timeout;
@@ -209,11 +205,9 @@ static size_t my_strnlen(const char *s, size_t maxsize)
static void cache_add_link(const char *path, const char *link, size_t size)
{
struct node *node;
time_t now;
pthread_mutex_lock(&cache.lock);
node = cache_get(path);
now = time(NULL);
g_free(node->link);
node->link = g_strndup(link, my_strnlen(link, size-1));
node->link_valid = time(NULL) + cache.link_timeout;
@@ -496,6 +490,7 @@ static void cache_unity_fill(struct fuse_cache_operations *oper,
cache_oper->init = oper->oper.init;
#endif
cache_oper->getattr = oper->oper.getattr;
cache_oper->access = oper->oper.access;
cache_oper->readlink = oper->oper.readlink;
cache_oper->getdir = cache_unity_getdir;
cache_oper->mknod = oper->oper.mknod;
+2 -2
View File
@@ -1,5 +1,5 @@
AC_INIT(sshfs-fuse, 2.3)
AM_INIT_AUTOMAKE
AC_INIT(sshfs, 2.6)
AM_INIT_AUTOMAKE([foreign subdir-objects])
AM_CONFIG_HEADER(config.h)
AC_PROG_CC
-11
View File
@@ -1,11 +0,0 @@
#! /bin/bash
(
echo "See http://fuse.sourceforge.net/wiki/index.php/SshfsFaq for the latest"
echo "version of this FAQ"
echo "---"
echo
lynx -nolist -dump http://fuse.sourceforge.net/wiki/index.php/SshfsFaq \
| sed -e '1,12d' -e '/____/,$d'
) > FAQ.txt
+38 -4
View File
@@ -58,6 +58,9 @@ synchronous writes
\fB\-o\fR no_readahead
synchronous reads (no speculative readahead)
.TP
\fB\-o\fR sync_readdir
synchronous readdir
.TP
\fB\-o\fR sshfs_debug
print some debugging information
.TP
@@ -102,6 +105,29 @@ no translation of the ID space (default)
.TP
user
only translate UID of connecting user
.TP
file
translate UIDs/GIDs based upon the contents of \fBuidfile \fR and
\fBgidfile\fR
.RE
.TP
\fB\-o\fR uidfile=FILE
file containing username:uid mappings for \fBidmap=file\fR
.RE
.TP
\fB\-o\fR gidfile=FILE
file containing groupname:gid mappings for \fBidmap=file\fR
.RE
.TP
\fB\-o\fR nomap=TYPE
with idmap=file, how to handle missing mappings
.RS 8
.TP
ignore
don't do any re-mapping
.TP
error
return an error (default)
.RE
.TP
\fB\-o\fR ssh_command=CMD
@@ -116,6 +142,14 @@ path to sftp server or subsystem (default: sftp)
\fB\-o\fR directport=PORT
directly connect to PORT bypassing ssh
.TP
\fB\-o\fR slave
communicate over stdin and stdout bypassing network
.TP
\fB\-o\fR disable_hardlink
link(2) will return with errno set to ENOSYS. Hard links don't currently work
perfectly on sshfs, and this confuses some programs. If that happens try
disabling hard links with this option.
.TP
\fB\-o\fR transform_symlinks
transform absolute symlinks to relative
.TP
@@ -150,7 +184,7 @@ allow access to root
\fB\-o\fR nonempty
allow mounts over non\-empty file/dir
.HP
\fB\-o\fR default_permissions
\fB\-o\fR default_permissions
enable permission checking by kernel
.TP
\fB\-o\fR fsname=NAME
@@ -225,15 +259,15 @@ perform reads asynchronously (default)
\fB\-o\fR sync_read
perform reads synchronously
.SS "Module options:"
.TP
.TP
[subdir]
.TP
\fB\-o\fR subdir=DIR
prepend this directory to all paths (mandatory)
.TP
\fB\-o\fR [no]rellinksa
\fB\-o\fR [no]rellinks
transform absolute symlinks to relative
.TP
.TP
[iconv]
.TP
\fB\-o\fR from_code=CHARSET
+811 -180
View File
File diff suppressed because it is too large Load Diff