* GPL HEADER END
*/
/*
- * Copyright (c) 2011, 2015, Intel Corporation.
+ * Copyright (c) 2011, 2017, Intel Corporation.
* Use is subject to license terms.
*
* Author: Johann Lombardi <johann.lombardi@intel.com>
return "usr_accounting";
case ACCT_GROUP_OID:
return "grp_accounting";
+ case ACCT_PROJECT_OID:
+ return "prj_accounting";
+ break;
default:
return "unknown_accounting";
}
if (fid_is_acct(fid)) {
seq_printf(p, "%s:\n", oid2name(fid_oid(fid)));
} else if (fid_seq(fid) == FID_SEQ_QUOTA_GLB) {
- int poolid, rtype, qtype;
+ int rtype, qtype;
- rc = lquota_extract_fid(fid, &poolid, &rtype, &qtype);
+ rc = lquota_extract_fid(fid, &rtype, &qtype);
if (rc)
return rc;
- seq_printf(p, "global_pool%d_%s_%s\n", poolid,
+ seq_printf(p, "global_pool%d_%s_%s\n", 0,
RES_NAME(rtype), qtype_name(qtype));
} else if (fid_seq(fid) == FID_SEQ_LOCAL_NAME) {
/* global index copy object */
goto out_lqp;
}
- rc = LPROCFS_ENTRY_CHECK(inode);
- if (rc < 0)
- goto out_env;
-
rc = seq_open(file, &lprocfs_quota_seq_sops);
if (rc)
goto out_env;
+ if (!lqp->lqp_obj) {
+ lqp->lqp_it = NULL;
+ goto out_seq;
+ }
+
/* initialize iterator */
iops = &lqp->lqp_obj->do_index_ops->dio_it;
it = iops->init(&lqp->lqp_env, lqp->lqp_obj, 0);
lqp->lqp_it = it;
lqp->lqp_cookie = 0;
+out_seq:
seq = file->private_data;
seq->private = lqp;
return 0;
const struct dt_it_ops *iops;
LASSERT(lqp);
- iops = &lqp->lqp_obj->do_index_ops->dio_it;
- if (lqp->lqp_it != NULL)
+ if (lqp->lqp_it != NULL) {
+ iops = &lqp->lqp_obj->do_index_ops->dio_it;
iops->fini(&lqp->lqp_env, lqp->lqp_it);
+ }
lu_env_fini(&lqp->lqp_env);
OBD_FREE_PTR(lqp);