static int (*tgt_lfsck_query)(const struct lu_env *env,
struct dt_device *key,
- struct lfsck_request *lr) = NULL;
+ struct lfsck_request *req,
+ struct lfsck_reply *rep,
+ struct lfsck_query *que) = NULL;
void tgt_register_lfsck_query(int (*query)(const struct lu_env *,
struct dt_device *,
- struct lfsck_request *))
+ struct lfsck_request *,
+ struct lfsck_reply *,
+ struct lfsck_query *))
{
tgt_lfsck_query = query;
}
if (reply == NULL)
RETURN(-ENOMEM);
- rc = tgt_lfsck_query(tsi->tsi_env, tsi->tsi_tgt->lut_bottom, request);
- reply->lr_status = rc;
+ rc = tgt_lfsck_query(tsi->tsi_env, tsi->tsi_tgt->lut_bottom,
+ request, reply, NULL);
RETURN(rc < 0 ? rc : 0);
}
/* Check if client was evicted while we were doing i/o before touching
* network */
if (likely(rc == 0 &&
- !CFS_FAIL_PRECHECK(OBD_FAIL_PTLRPC_CLIENT_BULK_CB2))) {
+ !CFS_FAIL_PRECHECK(OBD_FAIL_PTLRPC_CLIENT_BULK_CB2) &&
+ !CFS_FAIL_CHECK(OBD_FAIL_PTLRPC_DROP_BULK))) {
rc = target_bulk_io(exp, desc, &lwi);
no_reply = rc != 0;
}