static int cmr_object_print(const struct lu_env *env, void *cookie,
lu_printer_t p, const struct lu_object *lo)
{
- return (*p)(env, cookie, "[remote]");
+ const struct cmr_object *cro = lu2cmr_obj((struct lu_object *)lo);
+ return (*p)(env, cookie, "[remote](mds_num=%d)", cro->cmo_num);
}
static const struct lu_object_operations cmr_obj_ops = {
static int mdd_object_print(const struct lu_env *env, void *cookie,
lu_printer_t p, const struct lu_object *o)
{
- return (*p)(env, cookie, LUSTRE_MDD_NAME"-object@%p", o);
+ struct mdd_object *mdd = lu2mdd_obj((struct lu_object *)o);
+ return (*p)(env, cookie, LUSTRE_MDD_NAME"-object@%p(open_count=%d, "
+ "valid=%x, cltime=%llu, flags=%lx",
+ mdd, mdd->mod_count, mdd->mod_valid,
+ mdd->mod_cltime, mdd->mod_flags);
}
static const struct lu_object_operations mdd_lu_obj_ops = {
EXIT;
}
+static int mdt_object_print(const struct lu_env *env, void *cookie,
+ lu_printer_t p, const struct lu_object *o)
+{
+ struct mdt_object *mdto = mdt_obj((struct lu_object *)o);
+ return (*p)(env, cookie, LUSTRE_MDT_NAME"-object@%p(ioepoch=%llu "
+ "flags=%llx)", mdto, mdto->mot_ioepoch, mdto->mot_flags);
+}
+
static const struct lu_device_operations mdt_lu_ops = {
.ldo_object_alloc = mdt_object_alloc,
.ldo_process_config = mdt_process_config,
static const struct lu_object_operations mdt_obj_ops = {
.loo_object_init = mdt_object_init,
- .loo_object_free = mdt_object_free
+ .loo_object_free = mdt_object_free,
+ .loo_object_print = mdt_object_print
};
static int mdt_obd_set_info_async(struct obd_export *exp,