Windows: RDR_GetVolumeInfo do not always return success
authorJeffrey Altman <jaltman@your-file-system.com>
Wed, 8 May 2013 18:10:01 +0000 (14:10 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Wed, 8 May 2013 21:22:02 +0000 (14:22 -0700)
If the call failed because all servers are down or all instances
of the volume are offline or busy, tell the caller.  Do not return
fake data.

Change-Id: I4e89cefba19161c7d75cfdfd04a1cf7dfc2398f4
Reviewed-on: http://gerrit.openafs.org/9882
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

src/WINNT/afsrdr/user/RDRFunction.c

index 982faa6..9d549a4 100644 (file)
@@ -5999,7 +5999,10 @@ RDR_GetVolumeInfo( IN cm_user_t     *userp,
                     pResultCB->AvailableAllocationUnits.QuadPart = volStat.PartBlocksAvail;
                 }
             }
-        } else {
+       } else if ( code != CM_ERROR_ALLBUSY &&
+                   code != CM_ERROR_ALLOFFLINE &&
+                   code != CM_ERROR_ALLDOWN)
+       {
             /*
              * Lie about the available space.  Out of quota errors will need
              * detected when the file server rejects the store data.