windows-buf-overquota-20080728
authorJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 29 Jul 2008 03:54:34 +0000 (03:54 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 29 Jul 2008 03:54:34 +0000 (03:54 +0000)
LICENSE MIT

propagate overquota errors through buf_Write() and cm_FSync().

src/WINNT/afsd/cm_buf.c

index e5a8a3c..861a1bf 100644 (file)
@@ -676,7 +676,9 @@ long buf_CleanAsyncLocked(cm_buf_t *bp, cm_req_t *reqp)
         * because we aren't going to be able to write this data to the file
         * server.
         */
-       if (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BADFD || code == CM_ERROR_NOACCESS){
+       if (code == CM_ERROR_NOSUCHFILE || code == CM_ERROR_BADFD || code == CM_ERROR_NOACCESS || 
+            code == CM_ERROR_QUOTA || code == CM_ERROR_SPACE || code == CM_ERROR_TOOBIG || 
+            code == CM_ERROR_READONLY || code == CM_ERROR_NOSUCHPATH){
            bp->flags &= ~CM_BUF_DIRTY;
            bp->flags |= CM_BUF_ERROR;
             bp->dirty_offset = 0;
@@ -684,6 +686,7 @@ long buf_CleanAsyncLocked(cm_buf_t *bp, cm_req_t *reqp)
            bp->error = code;
            bp->dataVersion = CM_BUF_VERSION_BAD; /* bad */
            bp->dirtyCounter++;
+            break;
        }
 
 #ifdef DISKCACHE95