libafs: actually set hasno64bit flag
authorDerrick Brashear <shadow@dementix.org>
Fri, 24 Aug 2012 19:04:40 +0000 (15:04 -0400)
committerDerrick Brashear <shadow@dementix.org>
Thu, 30 Aug 2012 12:03:38 +0000 (05:03 -0700)
if we're starting a 64 bit data op, we should also end it,
and vice versa.

Change-Id: I1edef140f0c96d73f87759a80318a004196f22d5
Reviewed-on: http://gerrit.openafs.org/8013
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/afs/afs_fetchstore.c

index 610f1c6..1198073 100644 (file)
@@ -388,9 +388,9 @@ rxfs_storeInit(struct vcache *avc, struct afs_conn *tc,
 #ifdef AFS_64BIT_CLIENT
        if (!afs_serverHasNo64Bit(tc))
            code = StartRXAFS_StoreData64(
-                               v->call, (struct AFSFid*)&avc->f.fid.Fid,
-                               &v->InStatus, base, bytes, length);
-       else
+               v->call, (struct AFSFid*)&avc->f.fid.Fid,
+               &v->InStatus, base, bytes, length);
+       else {
            if (length > 0xFFFFFFFF)
                code = EFBIG;
            else {
@@ -399,6 +399,8 @@ rxfs_storeInit(struct vcache *avc, struct afs_conn *tc,
                                        (struct AFSFid *) &avc->f.fid.Fid,
                                         &v->InStatus, t1, t2, t3);
            }
+           v->hasNo64bit = 1;
+       }
 #else /* AFS_64BIT_CLIENT */
        code = StartRXAFS_StoreData(v->call, (struct AFSFid *)&avc->f.fid.Fid,
                                    &v->InStatus, base, bytes, length);
@@ -970,6 +972,7 @@ rxfs_fetchInit(struct afs_conn *tc, struct rx_connection *rxconn,
                RX_AFS_GLOCK();
            }
            afs_serverSetNo64Bit(tc);
+           v->hasNo64bit = 1;
        }
        if (!code) {
            RX_AFS_GUNLOCK();