Windows: Disk Full errors instead of Quota Exceeded
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 7 Apr 2012 02:30:41 +0000 (22:30 -0400)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 7 Apr 2012 02:32:06 +0000 (19:32 -0700)
The AFS Redirector does not support the Windows quota interface
therefore return STATUS_DISK_FULL for all over quota conditions.

Change-Id: Idd8755b26ab65e423330eeb6cb0e1806dd6306c9
Reviewed-on: http://gerrit.openafs.org/7111
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/WINNT/afsd/smb.c

index 21288b5..7610a88 100644 (file)
@@ -3195,7 +3195,14 @@ void smb_MapNTError(long code, unsigned long *NTStatusp, afs_uint32 redir)
         NTStatus = 0xC09820FBL;        /* SMB use standard */
     }
     else if (code == CM_ERROR_QUOTA) {
-        NTStatus = 0xC0000044L;        /* Quota exceeded */
+        /*
+         * AFS Redirector does not support Windows quota
+         * interface.  Always report disk full instead.
+         */
+        if (redir)
+            NTStatus = 0xC000007FL;    /* Disk full */
+        else
+            NTStatus = 0xC0000044L;    /* Quota exceeded */
     }
     else if (code == CM_ERROR_SPACE) {
         NTStatus = 0xC000007FL;        /* Disk full */