From: Gerald Carter Date: Tue, 22 Mar 2005 17:31:23 +0000 (+0000) Subject: r5958: BUG 1843: patch from james peach to fix quotas (with no soft limits) on IRIX X-Git-Tag: samba-misc-tags/initial-v3-0-unstable~5070 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aeb3cea54ea2e050aef38e38fd8519510a14a184;p=thirdparty%2Fsamba.git r5958: BUG 1843: patch from james peach to fix quotas (with no soft limits) on IRIX --- diff --git a/source/smbd/quotas.c b/source/smbd/quotas.c index 1117461bc25..1a73fdf2223 100644 --- a/source/smbd/quotas.c +++ b/source/smbd/quotas.c @@ -882,8 +882,17 @@ BOOL disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB restore_re_uid(); if (r==-1) + { + DEBUG(5, ("quotactl for uid=%u: %s", euser_id, strerror(errno))); return(False); + } + /* No quota for this user. */ + if (F.d_blk_softlimit==0 && F.d_blk_hardlimit==0) + { + return(False); + } + /* Use softlimit to determine disk space, except when it has been exceeded */ if ( (F.d_blk_softlimit && F.d_bcount>=F.d_blk_softlimit) || @@ -895,14 +904,10 @@ BOOL disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB *dfree = 0; *dsize = F.d_bcount; } - else if (F.d_blk_softlimit==0 && F.d_blk_hardlimit==0) - { - return(False); - } else { *dfree = (F.d_blk_softlimit - F.d_bcount); - *dsize = F.d_blk_softlimit; + *dsize = F.d_blk_softlimit ? F.d_blk_softlimit : F.d_blk_hardlimit; } }