i=Vladimir.Saveliev
i=Oleg.Drokin
Original patch from Vitaly Fertman
typedef enum {
ELDLM_OK = 0,
+ ELDLM_LOCK_MATCHED = 1,
ELDLM_LOCK_CHANGED = 300,
ELDLM_LOCK_ABORTED = 301,
CDEBUG(D_INODE, "glimpsed, setting rss="LPU64"; leaving"
" kms="LPU64"\n", loi->loi_lvb.lvb_size, loi->loi_kms);
rc = ELDLM_OK;
+ } else if (rc == ELDLM_LOCK_MATCHED) {
+ rc = ELDLM_OK;
} else {
struct obd_export *exp = set->set_exp;
struct lov_obd *lov = &exp->exp_obd->u.lov;
}
/* We already have a lock, and it's referenced */
- oinfo->oi_cb_up(oinfo, ELDLM_OK);
+ oinfo->oi_cb_up(oinfo, ELDLM_LOCK_MATCHED);
/* For async requests, decref the lock. */
if (einfo->ei_mode != mode)