- /* turn on local quota */
- rc = fsfilt_quotactl(obd, sb, oqctl);
- if (!rc) {
- obt->obt_qctxt.lqc_flags |= UGQUOTA2LQC(type);
- build_lqs(obd);
- } else if (rc == -EBUSY && quota_is_on(qctxt, oqctl)) {
- CWARN("mds local quota[%d] is on already\n", oqctl->qc_type);
- rc = -EALREADY;
- } else {
- CDEBUG(rc == -ENOENT ? D_QUOTA : D_ERROR,
- "auto-enable local quota failed. rc=%d\n", rc);
- if (rc1 == -EALREADY) {
- oqctl->qc_cmd = Q_QUOTAOFF;
- mds_admin_quota_off(obd, oqctl);
+ if (rc == 0) {
+ if (local) {
+ rc = fsfilt_quotactl(obd, obt->obt_sb, oqctl);
+ if (rc) {
+ if (rc != -ENOENT)
+ CERROR("%s: %s quotaon failed with"
+ " rc=%d\n", obd->obd_name,
+ global ? "global" : "local", rc);
+ } else {
+ obt->obt_qctxt.lqc_flags |= UGQUOTA2LQC(oqctl->qc_type);
+ build_lqs(obd);
+ }