From: Simon Wilkinson Date: Sat, 31 Mar 2012 23:21:04 +0000 (-0400) Subject: viced: Do error translation for InlineBulkStatus X-Git-Tag: upstream/1.6.6_pre2^2~105 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=9a533f1661e322629f027c8755d07fe262ee926b;p=packages%2Fo%2Fopenafs.git 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 --- 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);