aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2014-01-07 18:52:51 +0100
committerMiklos Szeredi <mszeredi@suse.cz>2014-01-07 18:52:51 +0100
commit91c1f2ba9e02a0eacb2ac46e87230a2709df2038 (patch)
treecadc79c3768a1ef2915f59296b726307383cb3d1
parentc1d62f203227745e506aaf8da92b435c43d30ee3 (diff)
downloadsshfs-91c1f2ba9e02a0eacb2ac46e87230a2709df2038.tar
sshfs-91c1f2ba9e02a0eacb2ac46e87230a2709df2038.tar.gz
sshfs-91c1f2ba9e02a0eacb2ac46e87230a2709df2038.tar.bz2
sshfs-91c1f2ba9e02a0eacb2ac46e87230a2709df2038.zip
Map SSH2_FX_FAILURE to ENOTEMPTY for rmdir
Reported by Ross Lagerwall
-rw-r--r--ChangeLog5
-rw-r--r--sshfs.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c855c7d..f694fd0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-01-07 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Map SSH2_FX_FAILURE to ENOTEMPTY for rmdir. Reported by Ross
+ Lagerwall
+
2012-05-14 Miklos Szeredi <miklos@szeredi.hu>
* When checking root directory use LSTAT not STAT. This prevents
diff --git a/sshfs.c b/sshfs.c
index 125a368..4d322f7 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -1790,6 +1790,13 @@ static int sftp_request_wait(struct request *req, uint8_t type,
err = -EIO;
break;
+ case SSH_FX_FAILURE:
+ if (type == SSH_FXP_RMDIR)
+ err = -ENOTEMPTY;
+ else
+ err = -EPERM;
+ break;
+
default:
err = -sftp_error_to_errno(serr);
}