LASSERT(osd_invariant(obj));
+ if (fid_is_otable_it(&l->lo_header->loh_fid)) {
+ obj->oo_dt.do_ops = &osd_obj_otable_it_ops;
+ l->lo_header->loh_attr |= LOHA_EXISTS;
+ RETURN(0);
+ }
+
rc = osd_fid_lookup(env, osd, lu_object_fid(l), &oid);
if (rc == 0) {
LASSERT(obj->oo_db == NULL);
osd->od_svname, PFID(lu_object_fid(l)), oid, rc);
}
} else if (rc == -ENOENT) {
- if (fid_is_otable_it(&l->lo_header->loh_fid)) {
- obj->oo_dt.do_ops = &osd_obj_otable_it_ops;
- /* LFSCK iterator object is special without inode */
- l->lo_header->loh_attr |= LOHA_EXISTS;
- }
rc = 0;
}
LASSERT(osd_invariant(obj));
/* and one less inode for the current id */
qi->lqi_id.qid_uid = orig_id;;
qi->lqi_space = -1;
+ /* can't get EDQUOT when reducing usage */
rc = qsd_op_begin(env, qsd, trans, qi, NULL);
- if (rc == -EDQUOT || rc == -EINPROGRESS)
+ if (rc == -EINPROGRESS)
rc = 0;
if (rc)
return rc;
qi->lqi_id.qid_uid = orig_id;
qi->lqi_space = -bspace;
rc = qsd_op_begin(env, qsd, trans, qi, NULL);
- if (rc == -EDQUOT || rc == -EINPROGRESS)
+ /* can't get EDQUOT when reducing usage */
+ if (rc == -EINPROGRESS)
rc = 0;
return rc;
}
struct osd_device *osd = osd_obj2dev(obj);
struct osd_thandle *oh;
uint64_t zapid;
+ int rc;
ENTRY;
LASSERT(dof);
__osd_xattr_declare_set(env, obj, sizeof(struct lustre_mdt_attrs),
XATTR_NAME_LMA, oh);
- RETURN(osd_declare_quota(env, osd, attr->la_uid, attr->la_gid, 1, oh,
- false, NULL, false));
+ rc = osd_declare_quota(env, osd, attr->la_uid, attr->la_gid, 1, oh,
+ false, NULL, false);
+ RETURN(rc);
}
int __osd_attr_init(const struct lu_env *env, udmu_objset_t *uos,