From 27b18b294268b760c6b92e64262df1d2ab22c4e6 Mon Sep 17 00:00:00 2001 From: Andrew Hanushevsky Date: Mon, 9 Jun 2014 03:35:22 -0700 Subject: [PATCH] Provide full error mapping for POSIX interface. --- src/XrdPosix/XrdPosixMap.cc | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/XrdPosix/XrdPosixMap.cc b/src/XrdPosix/XrdPosixMap.cc index 2e4aad90779..274fe0970a2 100644 --- a/src/XrdPosix/XrdPosixMap.cc +++ b/src/XrdPosix/XrdPosixMap.cc @@ -104,17 +104,28 @@ int XrdPosixMap::mapCode(int rc) int XrdPosixMap::mapError(int rc) { switch(rc) - {case kXR_NotFound: return ENOENT; - case kXR_NotAuthorized: return EACCES; + {case kXR_ArgInvalid: return EINVAL; + case kXR_ArgMissing: return EINVAL; + case kXR_ArgTooLong: return ENAMETOOLONG; + case kXR_FileLocked: return EDEADLK; + case kXR_FileNotOpen: return EBADF; + case kXR_FSError: return EIO; + case kXR_InvalidRequest:return EEXIST; case kXR_IOError: return EIO; case kXR_NoMemory: return ENOMEM; case kXR_NoSpace: return ENOSPC; - case kXR_ArgTooLong: return ENAMETOOLONG; + case kXR_NotAuthorized: return EACCES; + case kXR_NotFound: return ENOENT; + case kXR_ServerError: return ENOMSG; + case kXR_Unsupported: return ENOSYS; case kXR_noserver: return EHOSTUNREACH; case kXR_NotFile: return ENOTBLK; case kXR_isDirectory: return EISDIR; - case kXR_FSError: return ENOSYS; - default: return ECANCELED; + case kXR_Cancelled: return ECANCELED; + case kXR_ChkLenErr: return EDOM; + case kXR_ChkSumErr: return EDOM; + case kXR_inProgress: return EINPROGRESS; + default: return ENOMSG; } }