regain glock on storedata error exit
authorDerrick Brashear <shadow@dementia.org>
Wed, 17 Mar 2010 18:25:38 +0000 (14:25 -0400)
committerDerrick Brashear <shadow@dementia.org>
Thu, 18 Mar 2010 03:00:41 +0000 (20:00 -0700)
if we bomb out with EFBIG, we must regain the GLOCK before returing

Change-Id: I3aec92f90abd665d86dcf413dad0e9cbb251a0af
Reviewed-on: http://gerrit.openafs.org/1584
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/afs/afs_segments.c

index 18b63c1..e673030 100644 (file)
@@ -94,8 +94,10 @@ afs_StoreMini(register struct vcache *avc, struct vrequest *areq)
                l2 = tlen;
                if ((avc->f.m.Length > 0x7fffffff) ||
                    (tlen > 0x7fffffff) ||
-                   ((0x7fffffff - tlen) < avc->f.m.Length))
+                   ((0x7fffffff - tlen) < avc->f.m.Length)) {
+                   RX_AFS_GLOCK();
                    return EFBIG;
+               }
                code =
                    StartRXAFS_StoreData(tcall,
                                         (struct AFSFid *)&avc->f.fid.Fid,