LASSERT(mdd_write_locked(env, obj) != 0);
LASSERT(!(obj->mod_flags & ORPHAN_OBJ));
- dt_write_lock(env, mdd->mdd_orphans, MOR_TGT_ORPHAN);
+ dt_write_lock(env, mdd->mdd_orphans, DT_TGT_ORPHAN);
rc = mdd_orphan_insert_obj(env, mdd, obj, th);
if (rc)
LASSERT(dor);
key = mdd_orphan_key_fill(env, mdo2fid(obj));
- dt_write_lock(env, mdd->mdd_orphans, MOR_TGT_ORPHAN);
+ dt_write_lock(env, mdd->mdd_orphans, DT_TGT_ORPHAN);
if (OBD_FAIL_CHECK(OBD_FAIL_MDS_ORPHAN_DELETE))
goto ref_del;
RETURN(rc);
}
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
rc = mdd_orphan_declare_delete(env, obj, th);
if (rc == -ENOENT)
orphan_exists = false;
GOTO(unlock, rc);
if (likely(obj->mod_count == 0)) {
- dt_write_lock(env, mdd->mdd_orphans, MOR_TGT_ORPHAN);
+ dt_write_lock(env, mdd->mdd_orphans, DT_TGT_ORPHAN);
rc = dt_delete(env, mdd->mdd_orphans, key, th);
+ if (rc == -ENOENT) {
+ key = mdd_orphan_key_fill_20(env, mdo2fid(obj));
+ rc = dt_delete(env, mdd->mdd_orphans, key, th);
+ }
if (rc) {
CERROR("%s: could not delete orphan "DFID": rc = %d\n",
mdd2obd_dev(mdd)->obd_name, PFID(mdo2fid(obj)),
if (mdo->mod_count == 0) {
CDEBUG(D_HA, "Found orphan "DFID", delete it\n", PFID(lf));
rc = mdd_orphan_destroy(env, mdo, key);
- if (rc) /* so replay-single.sh test_37 works */
+ if (rc) /* below message checked in replay-single.sh test_37 */
CERROR("%s: error unlinking orphan "DFID": rc = %d\n",
mdd2obd_dev(mdd)->obd_name, PFID(lf), rc);
} else {
- mdd_write_lock(env, mdo, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdo, DT_TGT_CHILD);
if (likely(mdo->mod_count > 0)) {
CDEBUG(D_HA, "Found orphan "DFID" count %d, skip it\n",
PFID(lf), mdo->mod_count);