Fix for soft quotas not being set from
authorJeremy Allison <jra@samba.org>
Mon, 10 Apr 2000 21:02:45 +0000 (21:02 +0000)
committerJeremy Allison <jra@samba.org>
Mon, 10 Apr 2000 21:02:45 +0000 (21:02 +0000)
           Norbert PĆ¼schel <Pueschel.Norbert@Walzbarren-VAW.ne.uunet.de>
Jeremy.

source/smbd/quotas.c

index 329f261f273f14987ebe4173949b1b9182086e02..1e81443c5efb2cd6bdc64b70aea043c78d18f707 100644 (file)
@@ -363,6 +363,11 @@ BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_U
 #endif
   }
 
+  /* If softlimit is zero, set it equal to hardlimit.
+   */
+  
+  if (D.dqb_bsoftlimit==0)
+    D.dqb_bsoftlimit = D.dqb_bhardlimit;
 
   /* Use softlimit to determine disk space. A user exceeding the quota is told
    * that there's no space left. Writes might actually work for a bit if the
@@ -432,6 +437,12 @@ BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_U
          return (False);  
   }
 
+  /* If softlimit is zero, set it equal to hardlimit.
+   */
+
+  if (D.dqb_bsoftlimit==0)
+    D.dqb_bsoftlimit = D.dqb_bhardlimit;
+
   /* Use softlimit to determine disk space, except when it has been exceeded */
 
   if (D.dqb_bsoftlimit==0)
@@ -662,6 +673,13 @@ BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_U
        }
       else return(False);
     }
+
+  /* If softlimit is zero, set it equal to hardlimit.
+   */
+
+  if (D.dqb_bsoftlimit==0)
+    D.dqb_bsoftlimit = D.dqb_bhardlimit;
+
   if (D.dqb_bsoftlimit==0)
     return(False);
   /* Use softlimit to determine disk space, except when it has been exceeded */
@@ -773,6 +791,12 @@ BOOL disk_quotas_vxfs(const pstring name, char *path, SMB_BIG_UINT *bsize, SMB_B
     return(False);
   }
 
+  /* If softlimit is zero, set it equal to hardlimit.
+   */
+
+  if (D.dqb_bsoftlimit==0)
+    D.dqb_bsoftlimit = D.dqb_bhardlimit;
+
   /* Use softlimit to determine disk space. A user exceeding the quota is told
    * that there's no space left. Writes might actually work for a bit if the
    * hardlimit is set higher than softlimit. Effectively the disk becomes