aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-11-02sshfs.c: fix build with gcc 4.8 (#233)Fabrice Fontaine
Fix the following build failure with gcc 4.8: ../sshfs.c:1092:2: error: 'for' loop initial declarations are only allowed in C99 mode for (int i = 0; i < sshfs.max_conns; i++) { ^ This build failure has been added with https://github.com/libfuse/sshfs/commit/8822b60d9dbd9907065e7999f616b11ddce6d584 Fixes: - http://autobuild.buildroot.org/results/2dbdc579c55543175716d5f739cabe2ad0864ed6 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-09-04Update sshfs.rst (#220)Junichi Uekawa
This / is probably meant to be a .
2020-09-03Unset OLDPWD environment variable (#227)Simon Arlott
If ssh is configured to use "Match exec" and the previous working directory is the mount point, then the shell (bash) hangs calling stat() on OLDPWD. Unset OLDPWD so that this doesn't happen. Fixes #206.
2020-08-10Remove pointer to professional consulting offersNikolaus Rath
I do not want to offer this actively anymore.
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.