Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-6485 libcfs: embed kr_data into kkuc_reg
[fs/lustre-release.git]
/
lustre
/
mdc
/
mdc_request.c
diff --git
a/lustre/mdc/mdc_request.c
b/lustre/mdc/mdc_request.c
index
f378eb8
..
06daca0
100644
(file)
--- 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)
/* 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)
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);
if (rc)
ptlrpc_req_finished(req);
@@
-463,8
+463,8
@@
int mdc_get_lustre_md(struct obd_export *exp, struct ptlrpc_request *req,
if (md->layout.lb_buf == NULL)
GOTO(out, rc = -EPROTO);
} else if (md->body->mbo_valid & OBD_MD_FLDIREA) {
if (md->layout.lb_buf == NULL)
GOTO(out, rc = -EPROTO);
} else if (md->body->mbo_valid & OBD_MD_FLDIREA) {
-
int lmvsize
;
- s
truct lov_mds_md *lmv
;
+
const union lmv_mds_md *lmv
;
+ s
ize_t lmv_size
;
if (!S_ISDIR(md->body->mbo_mode)) {
CDEBUG(D_INFO, "OBD_MD_FLDIREA set, should be a "
if (!S_ISDIR(md->body->mbo_mode)) {
CDEBUG(D_INFO, "OBD_MD_FLDIREA set, should be a "
@@
-472,21
+472,20
@@
int mdc_get_lustre_md(struct obd_export *exp, struct ptlrpc_request *req,
GOTO(out, rc = -EPROTO);
}
GOTO(out, rc = -EPROTO);
}
- if (md->body->mbo_eadatasize == 0) {
+ lmv_size = md->body->mbo_eadatasize;
+ if (lmv_size == 0) {
CDEBUG(D_INFO, "OBD_MD_FLDIREA is set, "
"but eadatasize 0\n");
RETURN(-EPROTO);
}
if (md->body->mbo_valid & OBD_MD_MEA) {
CDEBUG(D_INFO, "OBD_MD_FLDIREA is set, "
"but eadatasize 0\n");
RETURN(-EPROTO);
}
if (md->body->mbo_valid & OBD_MD_MEA) {
- lmvsize = md->body->mbo_eadatasize;
lmv = req_capsule_server_sized_get(pill, &RMF_MDT_MD,
lmv = req_capsule_server_sized_get(pill, &RMF_MDT_MD,
- lmvsize);
- if (
!lmv
)
+ lmv
_
size);
+ if (
lmv == NULL
)
GOTO(out, rc = -EPROTO);
GOTO(out, rc = -EPROTO);
- rc = obd_unpackmd(md_exp, (void *)&md->lmv, lmv,
- lmvsize);
+ rc = md_unpackmd(md_exp, &md->lmv, lmv, lmv_size);
if (rc < 0)
GOTO(out, rc);
if (rc < 0)
GOTO(out, rc);
@@
-791,9
+790,9
@@
static int mdc_close(struct obd_export *exp, struct md_op_data *op_data,
ptlrpc_request_set_replen(req);
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,
if (req->rq_repmsg == NULL) {
CDEBUG(D_RPCTRACE, "request failed to send: %p, %d\n", req,
@@
-1513,9
+1512,9
@@
static int mdc_ioc_hsm_progress(struct obd_export *exp,
ptlrpc_request_set_replen(req);
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);
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:
GOTO(out, rc);
out:
@@
-1692,9
+1691,9
@@
static int mdc_ioc_hsm_state_set(struct obd_export *exp,
ptlrpc_request_set_replen(req);
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);
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:
GOTO(out, rc);
out:
@@
-1752,9
+1751,9
@@
static int mdc_ioc_hsm_request(struct obd_export *exp,
ptlrpc_request_set_replen(req);
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);
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);
GOTO(out, rc);
@@
-2604,27
+2603,16
@@
static void mdc_llog_finish(struct obd_device *obd)
static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg)
{
static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg)
{
- struct client_obd *cli = &obd->u.cli;
int rc;
ENTRY;
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)
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)
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);
#ifdef CONFIG_PROC_FS
obd->obd_vars = lprocfs_mdc_obd_vars;
lprocfs_obd_setup(obd);
@@
-2644,17
+2632,10
@@
static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg)
RETURN(rc);
}
RETURN(rc);
}
- spin_lock_init(&cli->cl_mod_rpcs_lock);
- cli->cl_max_mod_rpcs_in_flight = OBD_MAX_RIF_DEFAULT - 1;
-
RETURN(rc);
RETURN(rc);
-err_close_lock:
- OBD_FREE(cli->cl_close_lock, sizeof (*cli->cl_close_lock));
err_ptlrpcd_decref:
ptlrpcd_decref();
err_ptlrpcd_decref:
ptlrpcd_decref();
-err_rpc_lock:
- OBD_FREE(cli->cl_rpc_lock, sizeof (*cli->cl_rpc_lock));
RETURN(rc);
}
RETURN(rc);
}
@@
-2693,7
+2674,7
@@
static int mdc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage)
case OBD_CLEANUP_EXPORTS:
/* Failsafe, ok if racy */
if (obd->obd_type->typ_refcnt <= 1)
case OBD_CLEANUP_EXPORTS:
/* Failsafe, ok if racy */
if (obd->obd_type->typ_refcnt <= 1)
- libcfs_kkuc_group_rem(0, KUC_GRP_HSM
, NULL
);
+ libcfs_kkuc_group_rem(0, KUC_GRP_HSM);
obd_cleanup_client_import(obd);
ptlrpc_lprocfs_unregister_obd(obd);
obd_cleanup_client_import(obd);
ptlrpc_lprocfs_unregister_obd(obd);
@@
-2707,11
+2688,6
@@
static int mdc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage)
static int mdc_cleanup(struct obd_device *obd)
{
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);
ptlrpcd_decref();
return client_obd_cleanup(obd);