|
@@ -220,21 +220,7 @@ int lmv_revalidate_slaves(struct obd_export *exp,
|
|
/* refresh slave from server */
|
|
/* refresh slave from server */
|
|
body = req_capsule_server_get(&req->rq_pill,
|
|
body = req_capsule_server_get(&req->rq_pill,
|
|
&RMF_MDT_BODY);
|
|
&RMF_MDT_BODY);
|
|
- LASSERT(body);
|
|
|
|
-
|
|
|
|
- if (unlikely(body->mbo_nlink < 2)) {
|
|
|
|
- /*
|
|
|
|
- * If this is bad stripe, most likely due
|
|
|
|
- * to the race between close(unlink) and
|
|
|
|
- * getattr, let's return -EONENT, so llite
|
|
|
|
- * will revalidate the dentry see
|
|
|
|
- * ll_inode_revalidate_fini()
|
|
|
|
- */
|
|
|
|
- CDEBUG(D_INODE, "%s: nlink %d < 2 corrupt stripe %d "DFID":" DFID"\n",
|
|
|
|
- obd->obd_name, body->mbo_nlink, i,
|
|
|
|
- PFID(&lsm->lsm_md_oinfo[i].lmo_fid),
|
|
|
|
- PFID(&lsm->lsm_md_oinfo[0].lmo_fid));
|
|
|
|
-
|
|
|
|
|
|
+ if (!body) {
|
|
if (it.it_lock_mode && lockh) {
|
|
if (it.it_lock_mode && lockh) {
|
|
ldlm_lock_decref(lockh, it.it_lock_mode);
|
|
ldlm_lock_decref(lockh, it.it_lock_mode);
|
|
it.it_lock_mode = 0;
|
|
it.it_lock_mode = 0;
|