aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-17Fix typo in docs (#213)bjoe2k4
2020-01-03Released 3.7.0sshfs-3.7.0Nikolaus Rath
2019-11-30sftp_init_reply_ok: fix small memory leak (#198)Dominique Martinet
The leak was identified with ASAN: configure the project with meson -Db_sanitize=address to reproduce.
2019-11-27Protect changes to conn->req_count with mutex.Nikolaus Rath
2019-11-27Fix memory leak in conntabNikolaus Rath
References need to be counted per-path, rather than per connection.
2019-11-27Disable buflimit workaround by default.Nikolaus Rath
The corresponding bug in OpenSSH has been fixed in 2007 (cf. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=365541#37), so this shouldn't be needed anymore.
2019-11-27Add missing mutex lock/unlocks when accessing conntabNikolaus Rath
(problem introduced in parent commit).
2019-11-24Add support for using multiple connectionsTimo Savola
The -o max_conns=N option causes multiple SSH processes and response processing threads to be created. This means that e.g. reading a large file no longer blocks all access to the filesystem. The connection is chosen by checking the per-connection statistics: 1. Choose connection with least outstanding requests; if it's a tie, 2. choose connection with least directory handles; if it's a tie, 3. choose connection with least file handles; if it's a tie, 4. choose connection which has already been established. The implementation assumes that the max_conns values will be small; it uses linear search. Example benchmark: With single connection: $ sshfs -o max_conns=1,workaround=nobuflimit ebox: mnt $ cat mnt/tmp/bigfile > /dev/null & $ time find mnt > /dev/null real 1m50.432s user 0m0.133s sys 0m0.467s With multiple connections: $ ~/in-progress/sshfs/build/sshfs -o max_conns=5,workaround=nobuflimit ebox: mnt $ cat mnt/tmp/bigfile > /dev/null & $ time find mnt > /dev/null real 1m15.338s user 0m0.142s sys 0m0.491s This feature was implemented to large extend by Timo Savola <timo.savola@iki.fi>. Thanks to CEA.fr for sponsoring the remaining work to complete this feature and integrate it into SSHFS!
2019-11-24Drop reference counter for struct sshfs_fileNikolaus Rath
Variables of this kind are created in sshfs_open_common() and freed in sshfs_release(). Since sshfs_release() calls sshfs_flush(), there can be no pending write requests before at the time of freeing, so there is no need for reference counting.
2019-11-24Do not fail tests if connecting to localhost for first time.Nikolaus Rath
2019-11-23Added build/ to gitignore.Nikolaus Rath
This is the default build directory.
2019-11-23fix some whitespace and indentation (#194)jeg139
2019-11-23Fix some inconsistent whitespace (#192)Michael Forney
2019-11-03Add documentation of permission handling to manpage.Nikolaus Rath
Fixes: #182
2019-11-03Fix markup.Nikolaus Rath
2019-11-03Released 3.6.0sshfs-3.6.0Nikolaus Rath
2019-11-03Remedy gcc 7.4.0 warnings (#187)kalvdans
* Use logical not for booleans Fixes a gcc 7.4.0 complaint: sshfs.c:1743:28: warning: ‘~’ on a boolean expression [-Wbool-operation] sshfs.c:1743:28: note: did you mean to use logical not? * strdup argument to keep it alive after function return Fixes gcc 7.4.0 complaint: sshfs.c: In function ‘sshfs_opt_proc’: sshfs.c:3488:50: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2019-10-19Added direct_io option (#173)sunwire
2019-10-19Free addrinfo and close socket when returning error (#186)kalvdans
2019-09-12sshfs: fix another instance preventing use of global I/O size on macOS (#185)Viktor Szakats
Following-up on [1], there was another instance where blksize was set to a non-zero value, thus making it impossible to configure global I/O size on macOS, and using [2] the hard-wired value of 4096 bytes instead, resulting in uniformly poor performance [3]. With this patch, setting I/O size to a reasonable large value, will result in much improved performance, e.g.: -o iosize=1048576 [1] https://github.com/osxfuse/sshfs/commit/5c0dbfe3eb40100f9277e863926f2e7d7c9a5a4c [2] https://github.com/libfuse/sshfs/blob/4c21d696e9d46bebae0a936e2aec72326c5954ea/sshfs.c#L812 [3] https://github.com/libfuse/sshfs/issues/11#issuecomment-339407557
2019-06-30Include poll.h instead of sys/poll.h (#178)Michael Forney
The standard header for the poll(3) interface is poll.h[0]. This prevents a warning when building with musl libc: In file included from sshfs.c:44: /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp] #warning redirecting incorrect #include <sys/poll.h> to <poll.h> ^~~~~~~ [0] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html
2019-06-30Add --verbose optionGalen Getsov
2019-04-30Update issue templatesNikolaus Rath
2019-04-29Documented development status.Nikolaus Rath
2019-04-13Released 3.5.2sshfs-3.5.2Nikolaus Rath
2019-04-08Gracefully handle multiple spaces in ssh_command option (#169)mssalvatore
When using the "ssh_command" option, commands with multiple spaces in a row will not be properly parsed. Example: Properly parsed: ssh_command = "ssh -o IdentityFile=~/.ssh/id_rsa" Improperly parsed: ssh_command = "ssh -o IdentityFile=~/.ssh/id_rsa" This commit changes the ssh_command parsing logic so that both of the above examples are considered valid and properly handled. Fixes: #114.
2019-03-31allow /dev/fd/N as a mountpoint (#166)DrDaveD
2019-02-27Travis CI: Use Xenial instead of Trusty.Nikolaus Rath
2019-02-25Update clean_req() to match the definition of GHRFunc (#160)mssalvatore
The current definition of the clean_req() function produces a compiler warning as it expects 2 parameters but GHRFunc expects 3. This commit resolves issue #157.
2019-01-04Also remap GID under non-MacOSClayton G. Hobbs
The manpage says that -o idmap=user maps the UID and GID, but it apparently only mapped the UID. The code was in place to map the GID as well, but it was hidden behind #ifdef __APPLE__. This commit removes those #ifdefs, and in a couple of cases the code inside an #else, to make the option behave as documented.
2018-12-22Bump meson dependencyNikolaus Rath
build_by_default arg in custom_target needs 0.40.0
2018-12-22Released 3.5.1sshfs-3.5.1Nikolaus Rath
2018-12-22Use fusermount3 instead of fusermountNikolaus Rath
We're using libfuse3, so we should be using its fusermount command.
2018-12-22Kill filesystem process on test cleanup.Nikolaus Rath
2018-12-22meson: fallback to looking for rst2man.pyTim Harder
As that's what upstream docutils installs by default.
2018-12-22Docs: add section on interrupted connectionssmheidrich
Also rename "SSHFS hangs" section to something more specific to differentiate it from this new section. Cf. issues #77 and #3.
2018-12-22Added "BindInterface" as valid "-o" option.S. D. Cloudt
2018-08-28Released 3.5.0sshfs-3.5.0Nikolaus Rath
2018-08-11Add AppVeyor CI for CygwinBill Zissimopoulos
2018-08-01Port SSHFS to CygwinBill Zissimopoulos
2018-07-25Fix error return value from rename()Quentin Rameau
Fuse operations expect negated errno values.
2018-06-29Released 3.4.0sshfs-3.4.0Nikolaus Rath
2018-06-28Update README.rstSamuel Murray
OS-X is now called macOS
2018-06-20Correct workaround condition for not using handle in sshfs_getattr (#127)Rian Hunter
In libfuse<3, when `fstat_workaround` was true, that meant to always use the `path` argument to resolve fgetattr instead of the supplied handle. Before this change, the logic was interpreting `fstat_workaround` to not use the `path` argument when it was true. This change reverts to the libfuse<3 behavior.
2018-06-18Make utimens(NULL) work correctlyDaniel Lublin
2018-06-09Add workaround to always pass a 0 mode when creating a file (#128)Josh Triplett
Add workaround to always pass a 0 mode when creating a file This works around servers that produce an error for any non-zero mode.
2018-04-29Released 3.3.2sshfs-3.3.2Nikolaus Rath
2018-03-31Fix Travis build environment.Nikolaus Rath
Newest Meson requires Python 3.5.which isn't available in Trusty. Pip version pin no longer necessary.
2018-03-28New workaround renamexdev to enable moving files across remote filesystemsG.raud Meyer
sshfs.rst: update the documentation.
2017-11-27Fix rst markupNikolaus Rath