CDEBUG(D_MGS, "global '%s'\n", quota);
if (strchr(tmp, 'u') == NULL && strchr(tmp, 'g') == NULL &&
+ strchr(tmp, 'p') == NULL &&
strcmp(tmp, "none") != 0) {
CERROR("enable option(%s) isn't supported\n", tmp);
return -EINVAL;
ENTRY;
memset(buf, 0, LUSTRE_DQBLKSIZE);
- LASSERTF((type == USRQUOTA || type == GRPQUOTA), "type=%d\n", type);
+ LASSERTF((type == USRQUOTA || type == GRPQUOTA || type == PRJQUOTA),
+ "type=%d\n", type);
ret = sb->s_op->quota_read(sb, type, buf, LUSTRE_DQBLKSIZE,
blk << LUSTRE_DQBLKSIZE_BITS);
strcat(enabled, "u");
if (qsd_type_enabled(qsd, GRPQUOTA))
strcat(enabled, "g");
+ if (qsd_type_enabled(qsd, PRJQUOTA))
+ strncat(enabled, "p", 1);
if (strlen(enabled) == 0)
strcat(enabled, "none");
strcat(enabled, "u");
if (qsd->qsd_type_array[GRPQUOTA]->qqi_acct_obj != NULL)
strcat(enabled, "g");
+ if (qsd->qsd_type_array[PRJQUOTA]->qqi_acct_obj != NULL)
+ strncat(enabled, "p", 1);
if (strlen(enabled) == 0)
strcat(enabled, "none");
seq_printf(m, "space acct: %s\n"
"user uptodate: glb[%d],slv[%d],reint[%d]\n"
- "group uptodate: glb[%d],slv[%d],reint[%d]\n",
+ "group uptodate: glb[%d],slv[%d],reint[%d]\n"
+ "project uptodate: glb[%d],slv[%d],reint[%d]\n",
enabled,
qsd->qsd_type_array[USRQUOTA]->qqi_glb_uptodate,
qsd->qsd_type_array[USRQUOTA]->qqi_slv_uptodate,
qsd->qsd_type_array[USRQUOTA]->qqi_reint,
qsd->qsd_type_array[GRPQUOTA]->qqi_glb_uptodate,
qsd->qsd_type_array[GRPQUOTA]->qqi_slv_uptodate,
- qsd->qsd_type_array[GRPQUOTA]->qqi_reint);
+ qsd->qsd_type_array[GRPQUOTA]->qqi_reint,
+ qsd->qsd_type_array[PRJQUOTA]->qqi_glb_uptodate,
+ qsd->qsd_type_array[PRJQUOTA]->qqi_slv_uptodate,
+ qsd->qsd_type_array[PRJQUOTA]->qqi_reint);
}
return 0;
}
strcat(enabled, "u");
if (qsd_type_enabled(qsd, GRPQUOTA))
strcat(enabled, "g");
+ if (qsd_type_enabled(qsd, PRJQUOTA))
+ strncat(enabled, "p", 1);
if (strlen(enabled) == 0)
strcat(enabled, "none");