Prefer EndCall errors in StoreMini
authorAndrew Deason <adeason@sinenomine.net>
Thu, 22 Apr 2010 18:21:52 +0000 (13:21 -0500)
committerDerrick Brashear <shadow@dementia.org>
Thu, 22 Apr 2010 18:53:07 +0000 (11:53 -0700)
Partially revert b1eb6a7a3f80500f0187cc6a1dd2013e1a5e154a, so we do
not mask the rx_EndCall error with a EndRXAFS_StoreData error (for
example, if EndRXAFS_StoreData returns RXGEN_CC_UNMARSHAL, and
rx_EndCall returns VBUSY). We need to agree on how to do this
throughout the tree, but for now, just fix StoreMini.

Change-Id: I4913946089fd0857506d9186f85c5c8115a5b95d
Reviewed-on: http://gerrit.openafs.org/1808
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/afs/afs_segments.c

index e358acd..600fc05 100644 (file)
@@ -42,7 +42,7 @@ afs_StoreMini(register struct vcache *avc, struct vrequest *areq)
     struct AFSStoreStatus InStatus;
     struct AFSFetchStatus OutStatus;
     struct AFSVolSync tsync;
-    register afs_int32 code, code2;
+    register afs_int32 code;
     register struct rx_call *tcall;
     afs_size_t tlen, xlen = 0;
     XSTATS_DECLS;
@@ -111,9 +111,7 @@ afs_StoreMini(register struct vcache *avc, struct vrequest *areq)
            if (code == 0) {
                code = EndRXAFS_StoreData(tcall, &OutStatus, &tsync);
            }
-           code2 = rx_EndCall(tcall, code);
-           if (code2 && !code)
-               code = code2;
+           code = rx_EndCall(tcall, code);
            RX_AFS_GLOCK();
            XSTATS_END_TIME;
 #ifdef AFS_64BIT_CLIENT