diff options
author | Rian Hunter <rianhunter@users.noreply.github.com> | 2018-06-20 22:31:53 +0300 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2018-06-20 20:31:53 +0100 |
commit | fc7a57f0dc837ad163192def1cf676cdb3a490c0 (patch) | |
tree | d8cd575a05758ac850baed04eb607f2d2b26ca72 | |
parent | f0452119e0e5365bd140e8dd47ff268d274f55de (diff) | |
download | sshfs-fc7a57f0dc837ad163192def1cf676cdb3a490c0.tar sshfs-fc7a57f0dc837ad163192def1cf676cdb3a490c0.tar.gz sshfs-fc7a57f0dc837ad163192def1cf676cdb3a490c0.tar.bz2 sshfs-fc7a57f0dc837ad163192def1cf676cdb3a490c0.zip |
Correct workaround condition for not using handle in sshfs_getattr (#127)
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.
-rw-r--r-- | ChangeLog.rst | 1 | ||||
-rw-r--r-- | sshfs.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/ChangeLog.rst b/ChangeLog.rst index 556d27e..13b1916 100644 --- a/ChangeLog.rst +++ b/ChangeLog.rst @@ -4,6 +4,7 @@ Unreleased Changes * Make utimens(NULL) result in timestamp "now" -- no more touched files dated 1970-01-01 * New `createmode` workaround. +* Fix `fstat` workaround regression. Release 3.3.2 (2018-04-29) -------------------------- @@ -3158,7 +3158,7 @@ static int sshfs_getattr(const char *path, struct stat *stbuf, struct buffer outbuf; struct sshfs_file *sf = NULL; - if (fi != NULL || sshfs.fstat_workaround) { + if (fi != NULL && !sshfs.fstat_workaround) { sf = get_sshfs_file(fi); if (!sshfs_file_is_conn(sf)) return -EIO; |