From: Simon Wilkinson Date: Sat, 31 Mar 2012 23:21:04 +0000 (-0400) Subject: viced: Do error translation for InlineBulkStatus X-Git-Tag: openafs-stable-1_8_0pre1~2665 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=9498cebd11ac26ed7986b5496440159f7ef745f2 viced: Do error translation for InlineBulkStatus When a host has requested universal errors, error code conversion is performed in the CallPostamble. However, the InlineBulkStatus errorcodes are passed as part of the data set, not as RX errors, so this translation is not performed. Fix this so that we also translate error codes that are part of the InlineBulkStatus response. Change-Id: Ia23232d948990bdf9b7c4e5e0bcd8be087289a03 Reviewed-on: http://gerrit.openafs.org/6992 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index 864a28c..66a4b12 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -2688,7 +2688,13 @@ SRXAFS_InlineBulkStatus(struct rx_call * acall, struct AFSCBFids * Fids, &parentwhentargetnotdir, &client, READ_LOCK, &rights, &anyrights))) { tstatus = &OutStats->AFSBulkStats_val[i]; - tstatus->errorCode = errorCode; + + if (thost->hostFlags & HERRORTRANS) { + tstatus->errorCode = sys_error_to_et(errorCode); + } else { + tstatus->errorCode = errorCode; + } + PutVolumePackage(acall, parentwhentargetnotdir, targetptr, (Vnode *) 0, volptr, &client); parentwhentargetnotdir = (Vnode *) 0; @@ -2712,7 +2718,13 @@ SRXAFS_InlineBulkStatus(struct rx_call * acall, struct AFSCBFids * Fids, Check_PermissionRights(targetptr, client, rights, CHK_FETCHSTATUS, 0))) { tstatus = &OutStats->AFSBulkStats_val[i]; - tstatus->errorCode = errorCode; + + if (thost->hostFlags & HERRORTRANS) { + tstatus->errorCode = sys_error_to_et(errorCode); + } else { + tstatus->errorCode = errorCode; + } + (void)PutVolumePackage(acall, parentwhentargetnotdir, targetptr, (Vnode *) 0, volptr, &client);