summaryrefslogtreecommitdiff
path: root/quotaon.c
diff options
context:
space:
mode:
authorjkar8572 <jkar8572>2010-05-05 15:17:09 +0000
committerjkar8572 <jkar8572>2010-05-05 15:17:09 +0000
commit7f17e02d34e8157009d2603bfcea3bc619709eee (patch)
tree28e5466177962db25ebebf5e3371b37495932fc0 /quotaon.c
parent940aecfcffe12b565ff0e06d1b6c838a86dfbdd0 (diff)
GFS2 implements the XFS interface for setting and reporting the quota
information, and only allows state changes via remount. (Christoph Hellwig)
Diffstat (limited to 'quotaon.c')
-rw-r--r--quotaon.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/quotaon.c b/quotaon.c
index 813c021..1d1187b 100644
--- a/quotaon.c
+++ b/quotaon.c
@@ -273,7 +273,10 @@ static int newstate(struct mntent *mnt, int type, char *extra)
if (flags & FL_ALL)
sflags |= STATEFLAG_ALL;
- if (!strcmp(mnt->mnt_type, MNTTYPE_XFS)) { /* XFS filesystem has special handling... */
+ if (!strcmp(mnt->mnt_type, MNTTYPE_GFS2)) {
+ errstr(_("Cannot change state of GFS2 quota.\n"));
+ return 1;
+ } else if (!strcmp(mnt->mnt_type, MNTTYPE_XFS)) { /* XFS filesystem has special handling... */
if (!kern_qfmt_supp(QF_XFS)) {
errstr(_("Cannot change state of XFS quota. It's not compiled in kernel.\n"));
return 1;
@@ -329,7 +332,8 @@ static int print_state(struct mntent *mnt, int type)
{
int on = 0;
- if (!strcmp(mnt->mnt_type, MNTTYPE_XFS)) {
+ if (!strcmp(mnt->mnt_type, MNTTYPE_XFS) ||
+ !strcmp(mnt->mnt_type, MNTTYPE_GFS2)) {
if (kern_qfmt_supp(QF_XFS))
on = kern_quota_on(mnt->mnt_fsname, type, QF_XFS) != -1;
}