X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fmdc%2Fmdc_request.c;h=3e410157eabd46ce0c1496f27b6b31391516dac1;hp=fa082a25282fbf5e803bebfa5efcad23d992c5db;hb=1fc013f90175d1e50d7a22b404ad6abd31a43e38;hpb=8a11cb6282cfbdc8617b809344e6a11223e86a38 diff --git a/lustre/mdc/mdc_request.c b/lustre/mdc/mdc_request.c index fa082a2..3e41015 100644 --- a/lustre/mdc/mdc_request.c +++ b/lustre/mdc/mdc_request.c @@ -351,12 +351,12 @@ static int mdc_xattr_common(struct obd_export *exp,const struct req_format *fmt, /* make rpc */ if (opcode == MDS_REINT) - mdc_get_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_get_mod_rpc_slot(req, NULL); rc = ptlrpc_queue_wait(req); if (opcode == MDS_REINT) - mdc_put_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_put_mod_rpc_slot(req, NULL); if (rc) ptlrpc_req_finished(req); @@ -790,9 +790,9 @@ static int mdc_close(struct obd_export *exp, struct md_op_data *op_data, ptlrpc_request_set_replen(req); - mdc_get_rpc_lock(obd->u.cli.cl_close_lock, NULL); - rc = ptlrpc_queue_wait(req); - mdc_put_rpc_lock(obd->u.cli.cl_close_lock, NULL); + mdc_get_mod_rpc_slot(req, NULL); + rc = ptlrpc_queue_wait(req); + mdc_put_mod_rpc_slot(req, NULL); if (req->rq_repmsg == NULL) { CDEBUG(D_RPCTRACE, "request failed to send: %p, %d\n", req, @@ -1512,9 +1512,9 @@ static int mdc_ioc_hsm_progress(struct obd_export *exp, ptlrpc_request_set_replen(req); - mdc_get_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_get_mod_rpc_slot(req, NULL); rc = ptlrpc_queue_wait(req); - mdc_put_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_put_mod_rpc_slot(req, NULL); GOTO(out, rc); out: @@ -1691,9 +1691,9 @@ static int mdc_ioc_hsm_state_set(struct obd_export *exp, ptlrpc_request_set_replen(req); - mdc_get_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_get_mod_rpc_slot(req, NULL); rc = ptlrpc_queue_wait(req); - mdc_put_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_put_mod_rpc_slot(req, NULL); GOTO(out, rc); out: @@ -1751,9 +1751,9 @@ static int mdc_ioc_hsm_request(struct obd_export *exp, ptlrpc_request_set_replen(req); - mdc_get_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_get_mod_rpc_slot(req, NULL); rc = ptlrpc_queue_wait(req); - mdc_put_rpc_lock(exp->exp_obd->u.cli.cl_rpc_lock, NULL); + mdc_put_mod_rpc_slot(req, NULL); GOTO(out, rc); @@ -2603,27 +2603,16 @@ static void mdc_llog_finish(struct obd_device *obd) static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg) { - struct client_obd *cli = &obd->u.cli; int rc; ENTRY; - OBD_ALLOC(cli->cl_rpc_lock, sizeof (*cli->cl_rpc_lock)); - if (!cli->cl_rpc_lock) - RETURN(-ENOMEM); - mdc_init_rpc_lock(cli->cl_rpc_lock); - rc = ptlrpcd_addref(); if (rc < 0) - GOTO(err_rpc_lock, rc); - - OBD_ALLOC(cli->cl_close_lock, sizeof (*cli->cl_close_lock)); - if (!cli->cl_close_lock) - GOTO(err_ptlrpcd_decref, rc = -ENOMEM); - mdc_init_rpc_lock(cli->cl_close_lock); + RETURN(rc); rc = client_obd_setup(obd, cfg); if (rc) - GOTO(err_close_lock, rc); + GOTO(err_ptlrpcd_decref, rc); #ifdef CONFIG_PROC_FS obd->obd_vars = lprocfs_mdc_obd_vars; lprocfs_obd_setup(obd); @@ -2643,17 +2632,10 @@ static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg) RETURN(rc); } - spin_lock_init(&cli->cl_mod_rpcs_lock); - cli->cl_max_mod_rpcs_in_flight = OBD_MAX_RIF_DEFAULT - 1; - RETURN(rc); -err_close_lock: - OBD_FREE(cli->cl_close_lock, sizeof (*cli->cl_close_lock)); err_ptlrpcd_decref: ptlrpcd_decref(); -err_rpc_lock: - OBD_FREE(cli->cl_rpc_lock, sizeof (*cli->cl_rpc_lock)); RETURN(rc); } @@ -2706,11 +2688,6 @@ static int mdc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage) static int mdc_cleanup(struct obd_device *obd) { - struct client_obd *cli = &obd->u.cli; - - OBD_FREE(cli->cl_rpc_lock, sizeof (*cli->cl_rpc_lock)); - OBD_FREE(cli->cl_close_lock, sizeof (*cli->cl_close_lock)); - ptlrpcd_decref(); return client_obd_cleanup(obd);