From 9a533f1661e322629f027c8755d07fe262ee926b 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. Reviewed-on: http://gerrit.openafs.org/6992 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 9498cebd11ac26ed7986b5496440159f7ef745f2) Change-Id: Ia5b2d95e05bed0fb89aeb6132008d58de68c96a0 Reviewed-on: http://gerrit.openafs.org/9467 Reviewed-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Stephan Wiesand --- 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 ac2ec899e..299864570 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -2956,7 +2956,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; @@ -2980,7 +2986,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