Skip to content

Commit

Permalink
GFS2: fix quota state reporting
Browse files Browse the repository at this point in the history
We need to report both the accounting and enforcing flags if we are
in enforcing mode.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
Christoph Hellwig authored and Steven Whitehouse committed May 5, 2010
1 parent 5e687ea commit ad6bb90
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions fs/gfs2/quota.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit ad6bb90

Please sign in to comment.