-/**
- * Destroy OSD object on MDD and associated OST objects.
- *
- * \param obj orphan object
- * \param mdd used for sending llog msg to osts
- *
- * \retval 0 success
- * \retval -ve error
- */
-static int orphan_object_kill(const struct lu_env *env,
- struct mdd_object *obj,
- struct mdd_device *mdd,
- struct thandle *th)
-{
- struct lu_attr *la = &mdd_env_info(env)->mti_la;
- int rc = 0;
- ENTRY;
-
- /* No need to lock this object as its recovery phase, and
- * no other thread can access it. But we need to lock it
- * as its precondition for osd api we using. */
-
- mdo_ref_del(env, obj, th);
- if (S_ISDIR(mdd_object_type(obj))) {
- mdo_ref_del(env, obj, th);
- mdd_orphan_ref_del(env, mdd, th);
- } else {
- /* regular file , cleanup linked ost objects */
- rc = mdd_la_get(env, obj, la, BYPASS_CAPA);
- if (rc == 0)
- rc = mdd_lov_destroy(env, mdd, obj, la);
- }
- mdo_destroy(env, obj, th);
- RETURN(rc);
-}
-