From: Jeffrey Altman Date: Fri, 12 Apr 2013 05:11:22 +0000 (-0400) Subject: Windows: cm_MapRPCErrorRmdir EEXIST == ENOTEMPTY X-Git-Tag: openafs-stable-1_8_0pre1~1214 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=6c73b8350a4bc67db271a5294c5fdf1e51e9033a Windows: cm_MapRPCErrorRmdir EEXIST == ENOTEMPTY If the file server is asked to remove a directory that is not empty one might expect it to return UAENOTEMPTY but instead it returns UAEEXIST. The error translation function cm_MapRPCErrorRmdir did not include EEXIST in the list of errors that convert to CM_ERROR_NOTEMPTY. Prior to IBM AFS 3.5 the file server did return ENOTEMPTY and if a particular platform did not define ENOTEMPTY, ENOTEMPTY was defined to be EEXIST. To late to change things back now. Change-Id: I737ff468575a088e9299a5134b31142dd0ba555e Reviewed-on: http://gerrit.openafs.org/9778 Tested-by: BuildBot Reviewed-by: Jeffrey Altman --- diff --git a/src/WINNT/afsd/cm_utils.c b/src/WINNT/afsd/cm_utils.c index 109c25d..0836f9d 100644 --- a/src/WINNT/afsd/cm_utils.c +++ b/src/WINNT/afsd/cm_utils.c @@ -309,6 +309,7 @@ long cm_MapRPCErrorRmdir(long error, cm_req_t *reqp) else if (error == EINVAL) error = CM_ERROR_INVAL; else if (error == ENOTEMPTY + || error == EEXIST || error == 17 /* AIX */ || error == 66 /* SunOS 4, Digital UNIX */ || error == 93 /* Solaris 2, IRIX */