* GPL HEADER END
*/
/*
- * Copyright (c) 2012, 2015, Intel Corporation.
+ * Copyright (c) 2012, 2017, Intel Corporation.
*/
/*
* lustre/obdclass/local_storage.c
dt_object_fini(&obj->ls_obj);
lu_object_header_fini(h);
- OBD_FREE_PTR(obj);
+ OBD_FREE_PRE(obj, sizeof(*obj), "kfreed");
+ kfree_rcu(obj, ls_header.loh_rcu);
}
static struct lu_object_operations ls_lu_obj_ops = {
if (rc)
GOTO(trans_stop, rc);
- dt_write_lock(env, dto, LOS_CHILD);
+ dt_write_lock(env, dto, DT_SRC_CHILD);
if (dt_object_exists(dto))
GOTO(unlock, rc = 0);
rec->rec_fid = fid;
/* Add "." and ".." for newly created dir */
rc = dt_insert(env, dto, (const struct dt_rec *)rec,
- (const struct dt_key *)".", th, 1);
+ (const struct dt_key *)".", th);
if (rc != 0)
GOTO(destroy, rc);
dt_ref_add(env, dto, th);
rec->rec_fid = lu_object_fid(&parent->do_lu);
rc = dt_insert(env, dto, (const struct dt_rec *)rec,
- (const struct dt_key *)"..", th, 1);
+ (const struct dt_key *)"..", th);
if (rc != 0)
GOTO(destroy, rc);
}
rec->rec_fid = fid;
rec->rec_type = dto->do_lu.lo_header->loh_attr;
- dt_write_lock(env, parent, LOS_PARENT);
+ dt_write_lock(env, parent, DT_SRC_PARENT);
rc = dt_insert(env, parent, (const struct dt_rec *)rec,
- (const struct dt_key *)name, th, 1);
+ (const struct dt_key *)name, th);
if (dti->dti_dof.dof_type == DFT_DIR)
dt_ref_add(env, parent, th);
dt_write_unlock(env, parent);
rec->rec_fid = &dti->dti_fid;
rec->rec_type = dto->do_lu.lo_header->loh_attr;
rc = dt_insert(env, parent, (const struct dt_rec *)rec,
- (const struct dt_key *)name, th, 1);
+ (const struct dt_key *)name, th);
GOTO(unlock, rc);
}
/* should never happen, only local_oid_storage_fini should
* drop refcount to zero */
LBUG();
- return;
}
/* after Lustre 2.3 release there may be old file to store last generated FID