From 9498cebd11ac26ed7986b5496440159f7ef745f2 Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Sat, 31 Mar 2012 19:21:04 -0400 Subject: [PATCH] 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 --- src/viced/afsfileprocs.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index 864a28c5c..66a4b12a6 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); -- 2.39.5