From: Christoph Hellwig <h...@lst.de>

We need to report both the accounting and enforcing flags if we are
in enforcing mode.

Signed-off-by: Christoph Hellwig <h...@lst.de>
Signed-off-by: Steven Whitehouse <swhit...@redhat.com>
---
 fs/gfs2/quota.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index 6dbcbad..6ca0967 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -1418,10 +1418,18 @@ static int gfs2_quota_get_xstate(struct super_block *sb,
 
        memset(fqs, 0, sizeof(struct fs_quota_stat));
        fqs->qs_version = FS_QSTAT_VERSION;
-       if (sdp->sd_args.ar_quota == GFS2_QUOTA_ON)
-               fqs->qs_flags = (XFS_QUOTA_UDQ_ENFD | XFS_QUOTA_GDQ_ENFD);
-       else if (sdp->sd_args.ar_quota == GFS2_QUOTA_ACCOUNT)
-               fqs->qs_flags = (XFS_QUOTA_UDQ_ACCT | XFS_QUOTA_GDQ_ACCT);
+
+       switch (sdp->sd_args.ar_quota) {
+       case GFS2_QUOTA_ON:
+               fqs->qs_flags |= (XFS_QUOTA_UDQ_ENFD | XFS_QUOTA_GDQ_ENFD);
+               /*FALLTHRU*/
+       case GFS2_QUOTA_ACCOUNT:
+               fqs->qs_flags |= (XFS_QUOTA_UDQ_ACCT | XFS_QUOTA_GDQ_ACCT);
+               break;
+       case GFS2_QUOTA_OFF:
+               break;
+       }
+
        if (sdp->sd_quota_inode) {
                fqs->qs_uquota.qfs_ino = GFS2_I(sdp->sd_quota_inode)->i_no_addr;
                fqs->qs_uquota.qfs_nblks = sdp->sd_quota_inode->i_blocks;
-- 
1.6.2.5

Reply via email to