commit 0385c1ba23c78849d4a1a531e884e7fe667f983f Author: Juergen Daubert <jue@jue.li> Date: Sun Nov 3 14:14:40 2019 +0100 sshfs-fuse: update to 3.6.0 diff --git a/sshfs-fuse/.signature b/sshfs-fuse/.signature index 207f79fa6..2276243a6 100644 --- a/sshfs-fuse/.signature +++ b/sshfs-fuse/.signature @@ -1,6 +1,6 @@ untrusted comment: verify with /etc/ports/opt.pub -RWSE3ohX2g5d/X073rJq5T9NwHC/j8r22oT5WepgT3vQkNdw14BGjpKrPzEj0eZe3trEFoisCGyxRKQamVHM+szTNH8hDGMwJAE= -SHA256 (Pkgfile) = 094aea0c999268a108c7ed2153af7013eff24753c1d99a16ce0facd4ce153045 +RWSE3ohX2g5d/WjYxFz++poVgyhaAAZ9em7vcA3yTzBdAE0kAftq/KTJsP7ty04/vhyXze/myHioeWLnl9OT3yaOD0fxD3Cfhwk= +SHA256 (Pkgfile) = 0f7b0639d965d2d1da98833ffa3f1d76f84e50baa2f3829c00ad505c55475010 SHA256 (.footprint) = 55809a24ab7e2ee0ae7278618a24a3532806af781f07c1f9c651d089933d2527 -SHA256 (sshfs-3.5.2.tar.xz) = 841be1594b6fb76b23e4b5700ce235e86a64324f2483d67130ce07c2330ff0b2 -SHA256 (sshfs.1) = 42c34c125251a6e94336f2bc11eee3575cfd63cf20b2b69919c198b4ed33f2ce +SHA256 (sshfs-3.6.0.tar.xz) = 1679b5543a6db2e93e06dbcdc9247b35df64c3148e2c30f80764f4813bd6c270 +SHA256 (sshfs.1) = 9b8b4bf6f9d4c1e9685ed583ec919e5ef34da51ad4c9da7c55f1ae6d720f450f diff --git a/sshfs-fuse/Pkgfile b/sshfs-fuse/Pkgfile index 44193ddc4..aead839b4 100644 --- a/sshfs-fuse/Pkgfile +++ b/sshfs-fuse/Pkgfile @@ -4,7 +4,7 @@ # Depends on: fuse3 glib name=sshfs-fuse -version=3.5.2 +version=3.6.0 release=1 source=(https://github.com/libfuse/sshfs/releases/download/sshfs-$version/sshfs-$ver... sshfs.1) diff --git a/sshfs-fuse/sshfs.1 b/sshfs-fuse/sshfs.1 index c5eecb9e3..8aaff26fa 100644 --- a/sshfs-fuse/sshfs.1 +++ b/sshfs-fuse/sshfs.1 @@ -145,6 +145,10 @@ for some additional information. Possible values are: Emulate overwriting an existing file by deleting and renaming. .TP +.B renamexdev +Make rename fail with EXDEV instead of the default EPERM +to allow moving files across remote filesystems. +.TP .B truncate Work around servers that don\(aqt support truncate by coping the whole file, truncating it locally, and sending it @@ -156,6 +160,10 @@ using \fIstat\fP instead. .TP .B buflimit Work around OpenSSH "buffer fillup" bug. +.TP +.B createmode +Work around broken servers that produce an error when passing a +non\-zero mode to create, by always passing a mode of 0. .UNINDENT .TP .B \-o idmap=TYPE @@ -256,6 +264,30 @@ sets the interval for automatic cleaning of the directory cache. sets the interval for forced cleaning of the directory cache when full. .UNINDENT +.INDENT 0.0 +.TP +.BI \-o \ direct_io +This option disables the use of page cache (file content cache) in +the kernel for this filesystem. +This has several affects: +1. Each read() or write() system call will initiate one or more read or +.IP "System Message: ERROR/3 (../sshfs.rst:, line 210)" +Unexpected indentation. +.INDENT 7.0 +.INDENT 3.5 +write operations, data will not be cached in the kernel. +.UNINDENT +.UNINDENT +.IP "System Message: WARNING/2 (../sshfs.rst:, line 211)" +Block quote ends without a blank line; unexpected unindent. +.INDENT 7.0 +.IP 2. 3 +The return value of the read() and write() system calls will correspond +to the return values of the read and write operations. This is useful +for example if the file size is not known in advance (before reading it). +e.g. /proc filesystem +.UNINDENT +.UNINDENT .sp In addition, SSHFS accepts several options common to all FUSE file systems. These are described in the \fImount.fuse\fP manpage (look @@ -278,7 +310,15 @@ workaround=rename\fP\&. However, in this case it is still possible that someone (or something) recreates the destination file after SSHFS has removed it, but before SSHFS had the time to rename the old file. In this case, the rename will still fail. -.SS SSHFS hangs +.SS Permission denied when moving files across remote filesystems +.sp +Most SFTP servers return only a generic "failure" when failing to rename +across filesystem boundaries (EXDEV). sshfs normally converts this generic +failure to a permission denied error (EPERM). If the option \fB\-o +workaround=renamexdev\fP is given, generic failures will be considered EXDEV +errors which will make programs like \fImv(1)\fP attempt to actually move the +file after the failed rename. +.SS SSHFS hangs for no apparent reason .sp In some cases, attempts to access the SSHFS mountpoint may freeze if no filesystem activity has occured for some time. This is typically @@ -286,6 +326,30 @@ caused by the SSH connection being dropped because of inactivity without SSHFS being informed about that. As a workaround, you can try to mount with \fB\-o ServerAliveInterval=15\fP\&. This will force the SSH connection to stay alive even if you have no activity. +.SS SSHFS hangs after the connection was interrupted +.sp +By default, network operations in SSHFS run without timeouts, mirroring the +default behavior of SSH itself. As a consequence, if the connection to the +remote host is interrupted (e.g. because a network cable was removed), +operations on files or directories under the mountpoint will block until the +connection is either restored or closed altogether (e.g. manually). +Applications that try to access such files or directories will generally appear +to "freeze" when this happens. +.sp +If it is acceptable to discard data being read or written, a quick workaround +is to kill the responsible \fBsshfs\fP process, which will make any blocking +operations on the mounted filesystem error out and thereby "unfreeze" the +relevant applications. Note that force unmounting with \fBfusermount \-zu\fP, on +the other hand, does not help in this case and will leave read/write operations +in the blocking state. +.sp +For a more automatic solution, one can use the \fB\-o ServerAliveInterval=15\fP +option mentioned above, which will drop the connection after not receiving a +response for 3 * 15 = 45 seconds from the remote host. By also supplying \fB\-o +reconnect\fP, one can ensure that the connection is re\-established as soon as +possible afterwards. As before, this will naturally lead to loss of data that +was in the process of being read or written at the time when the connection was +interrupted. .SH MOUNTING FROM /ETC/FSTAB .sp To mount an SSHFS filesystem from \fB/etc/fstab\fP, simply use \fBsshfs\(ga