diff options
Diffstat (limited to 'drivers/staging/lustre/lustre/mdc/mdc_request.c')
-rw-r--r-- | drivers/staging/lustre/lustre/mdc/mdc_request.c | 324 |
1 files changed, 129 insertions, 195 deletions
diff --git a/drivers/staging/lustre/lustre/mdc/mdc_request.c b/drivers/staging/lustre/lustre/mdc/mdc_request.c index 3cf9d8d3f2ec..ed3a7a05557f 100644 --- a/drivers/staging/lustre/lustre/mdc/mdc_request.c +++ b/drivers/staging/lustre/lustre/mdc/mdc_request.c @@ -65,21 +65,20 @@ int mdc_unpack_capa(struct obd_export *exp, struct ptlrpc_request *req, { struct lustre_capa *capa; struct obd_capa *c; - ENTRY; /* swabbed already in mdc_enqueue */ capa = req_capsule_server_get(&req->rq_pill, field); if (capa == NULL) - RETURN(-EPROTO); + return -EPROTO; c = alloc_capa(CAPA_SITE_CLIENT); if (IS_ERR(c)) { CDEBUG(D_INFO, "alloc capa failed!\n"); - RETURN(PTR_ERR(c)); + return PTR_ERR(c); } else { c->c_capa = *capa; *oc = c; - RETURN(0); + return 0; } } @@ -109,12 +108,11 @@ static int send_getstatus(struct obd_import *imp, struct lu_fid *rootfid, struct ptlrpc_request *req; struct mdt_body *body; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_GETSTATUS, LUSTRE_MDS_VERSION, MDS_GETSTATUS); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_pack_body(req, NULL, NULL, 0, 0, -1, 0); lustre_msg_add_flags(req->rq_reqmsg, msg_flags); @@ -141,7 +139,6 @@ static int send_getstatus(struct obd_import *imp, struct lu_fid *rootfid, "root fid="DFID", last_committed="LPU64"\n", PFID(rootfid), lustre_msg_get_last_committed(req->rq_repmsg)); - EXIT; out: ptlrpc_req_finished(req); return rc; @@ -172,17 +169,16 @@ static int mdc_getattr_common(struct obd_export *exp, struct mdt_body *body; void *eadata; int rc; - ENTRY; /* Request message already built. */ rc = ptlrpc_queue_wait(req); if (rc != 0) - RETURN(rc); + return rc; /* sanity check for the reply */ body = req_capsule_server_get(pill, &RMF_MDT_BODY); if (body == NULL) - RETURN(-EPROTO); + return -EPROTO; CDEBUG(D_NET, "mode: %o\n", body->mode); @@ -192,7 +188,7 @@ static int mdc_getattr_common(struct obd_export *exp, eadata = req_capsule_server_sized_get(pill, &RMF_MDT_MD, body->eadatasize); if (eadata == NULL) - RETURN(-EPROTO); + return -EPROTO; } if (body->valid & OBD_MD_FLRMTPERM) { @@ -202,17 +198,17 @@ static int mdc_getattr_common(struct obd_export *exp, perm = req_capsule_server_swab_get(pill, &RMF_ACL, lustre_swab_mdt_remote_perm); if (perm == NULL) - RETURN(-EPROTO); + return -EPROTO; } if (body->valid & OBD_MD_FLMDSCAPA) { struct lustre_capa *capa; capa = req_capsule_server_get(pill, &RMF_CAPA1); if (capa == NULL) - RETURN(-EPROTO); + return -EPROTO; } - RETURN(0); + return 0; } int mdc_getattr(struct obd_export *exp, struct md_op_data *op_data, @@ -220,24 +216,23 @@ int mdc_getattr(struct obd_export *exp, struct md_op_data *op_data, { struct ptlrpc_request *req; int rc; - ENTRY; /* Single MDS without an LMV case */ if (op_data->op_flags & MF_GET_MDT_IDX) { op_data->op_mds = 0; - RETURN(0); + return 0; } *request = NULL; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_GETATTR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_GETATTR); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, &op_data->op_fid1, op_data->op_capa1, @@ -257,7 +252,7 @@ int mdc_getattr(struct obd_export *exp, struct md_op_data *op_data, ptlrpc_req_finished(req); else *request = req; - RETURN(rc); + return rc; } int mdc_getattr_name(struct obd_export *exp, struct md_op_data *op_data, @@ -265,13 +260,12 @@ int mdc_getattr_name(struct obd_export *exp, struct md_op_data *op_data, { struct ptlrpc_request *req; int rc; - ENTRY; *request = NULL; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_GETATTR_NAME); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); req_capsule_set_size(&req->rq_pill, &RMF_NAME, RCL_CLIENT, @@ -280,7 +274,7 @@ int mdc_getattr_name(struct obd_export *exp, struct md_op_data *op_data, rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_GETATTR_NAME); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, &op_data->op_fid1, op_data->op_capa1, @@ -303,7 +297,7 @@ int mdc_getattr_name(struct obd_export *exp, struct md_op_data *op_data, ptlrpc_req_finished(req); else *request = req; - RETURN(rc); + return rc; } static int mdc_is_subdir(struct obd_export *exp, @@ -314,14 +308,12 @@ static int mdc_is_subdir(struct obd_export *exp, struct ptlrpc_request *req; int rc; - ENTRY; - *request = NULL; req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), &RQF_MDS_IS_SUBDIR, LUSTRE_MDS_VERSION, MDS_IS_SUBDIR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_is_subdir_pack(req, pfid, cfid, 0); ptlrpc_request_set_replen(req); @@ -331,7 +323,7 @@ static int mdc_is_subdir(struct obd_export *exp, ptlrpc_req_finished(req); else *request = req; - RETURN(rc); + return rc; } static int mdc_xattr_common(struct obd_export *exp,const struct req_format *fmt, @@ -345,12 +337,11 @@ static int mdc_xattr_common(struct obd_export *exp,const struct req_format *fmt, int xattr_namelen = 0; char *tmp; int rc; - ENTRY; *request = NULL; req = ptlrpc_request_alloc(class_exp2cliimp(exp), fmt); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, oc); if (xattr_name) { @@ -367,7 +358,7 @@ static int mdc_xattr_common(struct obd_export *exp,const struct req_format *fmt, rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, opcode); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } if (opcode == MDS_REINT) { @@ -377,12 +368,8 @@ static int mdc_xattr_common(struct obd_export *exp,const struct req_format *fmt, sizeof(struct mdt_rec_reint)); rec = req_capsule_client_get(&req->rq_pill, &RMF_REC_REINT); rec->sx_opcode = REINT_SETXATTR; - /* TODO: - * cfs_curproc_fs{u,g}id() should replace - * current->fs{u,g}id for portability. - */ - rec->sx_fsuid = current_fsuid(); - rec->sx_fsgid = current_fsgid(); + rec->sx_fsuid = from_kuid(&init_user_ns, current_fsuid()); + rec->sx_fsgid = from_kgid(&init_user_ns, current_fsgid()); rec->sx_cap = cfs_curproc_cap_pack(); rec->sx_suppgid1 = suppgid; rec->sx_suppgid2 = -1; @@ -424,7 +411,7 @@ static int mdc_xattr_common(struct obd_export *exp,const struct req_format *fmt, ptlrpc_req_finished(req); else *request = req; - RETURN(rc); + return rc; } int mdc_setxattr(struct obd_export *exp, const struct lu_fid *fid, @@ -457,32 +444,31 @@ static int mdc_unpack_acl(struct ptlrpc_request *req, struct lustre_md *md) struct posix_acl *acl; void *buf; int rc; - ENTRY; if (!body->aclsize) - RETURN(0); + return 0; buf = req_capsule_server_sized_get(pill, &RMF_ACL, body->aclsize); if (!buf) - RETURN(-EPROTO); + return -EPROTO; acl = posix_acl_from_xattr(&init_user_ns, buf, body->aclsize); if (IS_ERR(acl)) { rc = PTR_ERR(acl); CERROR("convert xattr to acl: %d\n", rc); - RETURN(rc); + return rc; } rc = posix_acl_valid(acl); if (rc) { CERROR("validate acl: %d\n", rc); posix_acl_release(acl); - RETURN(rc); + return rc; } md->posix_acl = acl; - RETURN(0); + return 0; } #else #define mdc_unpack_acl(req, md) 0 @@ -494,7 +480,6 @@ int mdc_get_lustre_md(struct obd_export *exp, struct ptlrpc_request *req, { struct req_capsule *pill = &req->rq_pill; int rc; - ENTRY; LASSERT(md); memset(md, 0, sizeof(*md)); @@ -546,7 +531,7 @@ int mdc_get_lustre_md(struct obd_export *exp, struct ptlrpc_request *req, if (md->body->eadatasize == 0) { CDEBUG(D_INFO, "OBD_MD_FLDIREA is set, " "but eadatasize 0\n"); - RETURN(-EPROTO); + return -EPROTO; } if (md->body->valid & OBD_MD_MEA) { lmvsize = md->body->eadatasize; @@ -611,7 +596,6 @@ int mdc_get_lustre_md(struct obd_export *exp, struct ptlrpc_request *req, md->oss_capa = oc; } - EXIT; out: if (rc) { if (md->oss_capa) { @@ -633,8 +617,7 @@ out: int mdc_free_lustre_md(struct obd_export *exp, struct lustre_md *md) { - ENTRY; - RETURN(0); + return 0; } /** @@ -648,12 +631,10 @@ void mdc_replay_open(struct ptlrpc_request *req) struct obd_client_handle *och; struct lustre_handle old; struct mdt_body *body; - ENTRY; if (mod == NULL) { DEBUG_REQ(D_ERROR, req, "Can't properly replay without open data."); - EXIT; return; } @@ -687,7 +668,6 @@ void mdc_replay_open(struct ptlrpc_request *req) DEBUG_REQ(D_HA, close_req, "updating close body with new fh"); epoch->handle = body->handle; } - EXIT; } void mdc_commit_open(struct ptlrpc_request *req) @@ -726,10 +706,9 @@ int mdc_set_open_replay_data(struct obd_export *exp, struct mdt_rec_create *rec; struct mdt_body *body; struct obd_import *imp = open_req->rq_import; - ENTRY; if (!open_req->rq_replay) - RETURN(0); + return 0; rec = req_capsule_client_get(&open_req->rq_pill, &RMF_REC_REINT); body = req_capsule_server_get(&open_req->rq_pill, &RMF_MDT_BODY); @@ -744,7 +723,7 @@ int mdc_set_open_replay_data(struct obd_export *exp, if (mod == NULL) { DEBUG_REQ(D_ERROR, open_req, "Can't allocate md_open_data"); - RETURN(0); + return 0; } /** @@ -776,21 +755,20 @@ int mdc_set_open_replay_data(struct obd_export *exp, } DEBUG_REQ(D_RPCTRACE, open_req, "Set up open replay data"); - RETURN(0); + return 0; } int mdc_clear_open_replay_data(struct obd_export *exp, struct obd_client_handle *och) { struct md_open_data *mod = och->och_mod; - ENTRY; /** * It is possible to not have \var mod in a case of eviction between * lookup and ll_file_open(). **/ if (mod == NULL) - RETURN(0); + return 0; LASSERT(mod != LP_POISON); @@ -798,7 +776,7 @@ int mdc_clear_open_replay_data(struct obd_export *exp, och->och_mod = NULL; obd_mod_put(mod); - RETURN(0); + return 0; } /* Prepares the request for the replay by the given reply */ @@ -823,19 +801,18 @@ int mdc_close(struct obd_export *exp, struct md_op_data *op_data, struct obd_device *obd = class_exp2obd(exp); struct ptlrpc_request *req; int rc; - ENTRY; *request = NULL; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_CLOSE); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_CLOSE); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } /* To avoid a livelock (bug 7034), we need to send CLOSE RPCs to a @@ -916,7 +893,7 @@ int mdc_close(struct obd_export *exp, struct md_op_data *op_data, } *request = req; mdc_close_handle_reply(req, op_data, rc); - RETURN(rc); + return rc; } int mdc_done_writing(struct obd_export *exp, struct md_op_data *op_data, @@ -925,18 +902,17 @@ int mdc_done_writing(struct obd_export *exp, struct md_op_data *op_data, struct obd_device *obd = class_exp2obd(exp); struct ptlrpc_request *req; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_DONE_WRITING); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_DONE_WRITING); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } if (mod != NULL) { @@ -983,7 +959,7 @@ int mdc_done_writing(struct obd_export *exp, struct md_op_data *op_data, mdc_close_handle_reply(req, op_data, rc); ptlrpc_req_finished(req); - RETURN(rc); + return rc; } @@ -997,7 +973,6 @@ int mdc_readpage(struct obd_export *exp, struct md_op_data *op_data, int resends = 0; struct l_wait_info lwi; int rc; - ENTRY; *request = NULL; init_waitqueue_head(&waitq); @@ -1005,14 +980,14 @@ int mdc_readpage(struct obd_export *exp, struct md_op_data *op_data, restart_bulk: req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_READPAGE); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_READPAGE); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } req->rq_request_portal = MDS_READPAGE_PORTAL; @@ -1022,7 +997,7 @@ restart_bulk: MDS_BULK_PORTAL); if (desc == NULL) { ptlrpc_request_free(req); - RETURN(-ENOMEM); + return -ENOMEM; } /* NB req now owns desc and will free it when it gets freed */ @@ -1038,12 +1013,12 @@ restart_bulk: if (rc) { ptlrpc_req_finished(req); if (rc != -ETIMEDOUT) - RETURN(rc); + return rc; resends++; if (!client_should_resend(resends, &exp->exp_obd->u.cli)) { CERROR("too many resend retries, returning error\n"); - RETURN(-EIO); + return -EIO; } lwi = LWI_TIMEOUT_INTR(cfs_time_seconds(resends), NULL, NULL, NULL); l_wait_event(waitq, 0, &lwi); @@ -1055,7 +1030,7 @@ restart_bulk: req->rq_bulk->bd_nob_transferred); if (rc < 0) { ptlrpc_req_finished(req); - RETURN(rc); + return rc; } if (req->rq_bulk->bd_nob_transferred & ~LU_PAGE_MASK) { @@ -1063,11 +1038,11 @@ restart_bulk: req->rq_bulk->bd_nob_transferred, PAGE_CACHE_SIZE * op_data->op_npages); ptlrpc_req_finished(req); - RETURN(-EPROTO); + return -EPROTO; } *request = req; - RETURN(0); + return 0; } static int mdc_statfs(const struct lu_env *env, @@ -1079,7 +1054,6 @@ static int mdc_statfs(const struct lu_env *env, struct obd_statfs *msfs; struct obd_import *imp = NULL; int rc; - ENTRY; /* * Since the request might also come from lprocfs, so we need @@ -1090,7 +1064,7 @@ static int mdc_statfs(const struct lu_env *env, imp = class_import_get(obd->u.cli.cl_import); up_read(&obd->u.cli.cl_sem); if (!imp) - RETURN(-ENODEV); + return -ENODEV; req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_STATFS, LUSTRE_MDS_VERSION, MDS_STATFS); @@ -1118,7 +1092,6 @@ static int mdc_statfs(const struct lu_env *env, GOTO(out, rc = -EPROTO); *osfs = *msfs; - EXIT; out: ptlrpc_req_finished(req); output: @@ -1133,15 +1106,15 @@ static int mdc_ioc_fid2path(struct obd_export *exp, struct getinfo_fid2path *gf) int rc; if (gf->gf_pathlen > PATH_MAX) - RETURN(-ENAMETOOLONG); + return -ENAMETOOLONG; if (gf->gf_pathlen < 2) - RETURN(-EOVERFLOW); + return -EOVERFLOW; /* Key is KEY_FID2PATH + getinfo_fid2path description */ keylen = cfs_size_round(sizeof(KEY_FID2PATH)) + sizeof(*gf); OBD_ALLOC(key, keylen); if (key == NULL) - RETURN(-ENOMEM); + return -ENOMEM; memcpy(key, KEY_FID2PATH, sizeof(KEY_FID2PATH)); memcpy(key + cfs_size_round(sizeof(KEY_FID2PATH)), gf, sizeof(*gf)); @@ -1178,7 +1151,6 @@ static int mdc_ioc_hsm_progress(struct obd_export *exp, struct hsm_progress_kernel *req_hpk; struct ptlrpc_request *req; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_HSM_PROGRESS, LUSTRE_MDS_VERSION, MDS_HSM_PROGRESS); @@ -1193,6 +1165,7 @@ static int mdc_ioc_hsm_progress(struct obd_export *exp, GOTO(out, rc = -EPROTO); *req_hpk = *hpk; + req_hpk->hpk_errval = lustre_errno_hton(hpk->hpk_errval); ptlrpc_request_set_replen(req); @@ -1208,7 +1181,6 @@ static int mdc_ioc_hsm_ct_register(struct obd_import *imp, __u32 archives) __u32 *archive_mask; struct ptlrpc_request *req; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_HSM_CT_REGISTER, LUSTRE_MDS_VERSION, @@ -1242,19 +1214,18 @@ static int mdc_ioc_hsm_current_action(struct obd_export *exp, struct hsm_current_action *req_hca; struct ptlrpc_request *req; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_HSM_ACTION); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_HSM_ACTION); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, &op_data->op_fid1, op_data->op_capa1, @@ -1273,7 +1244,6 @@ static int mdc_ioc_hsm_current_action(struct obd_export *exp, *hca = *req_hca; - EXIT; out: ptlrpc_req_finished(req); return rc; @@ -1283,7 +1253,6 @@ static int mdc_ioc_hsm_ct_unregister(struct obd_import *imp) { struct ptlrpc_request *req; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(imp, &RQF_MDS_HSM_CT_UNREGISTER, LUSTRE_MDS_VERSION, @@ -1309,19 +1278,18 @@ static int mdc_ioc_hsm_state_get(struct obd_export *exp, struct hsm_user_state *req_hus; struct ptlrpc_request *req; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_HSM_STATE_GET); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_HSM_STATE_GET); if (rc != 0) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, &op_data->op_fid1, op_data->op_capa1, @@ -1339,7 +1307,6 @@ static int mdc_ioc_hsm_state_get(struct obd_export *exp, *hus = *req_hus; - EXIT; out: ptlrpc_req_finished(req); return rc; @@ -1352,19 +1319,18 @@ static int mdc_ioc_hsm_state_set(struct obd_export *exp, struct hsm_state_set *req_hss; struct ptlrpc_request *req; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_HSM_STATE_SET); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_HSM_STATE_SET); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, &op_data->op_fid1, op_data->op_capa1, @@ -1381,7 +1347,6 @@ static int mdc_ioc_hsm_state_set(struct obd_export *exp, rc = mdc_queue_wait(req); GOTO(out, rc); - EXIT; out: ptlrpc_req_finished(req); return rc; @@ -1396,7 +1361,6 @@ static int mdc_ioc_hsm_request(struct obd_export *exp, struct hsm_user_item *req_hui; char *req_opaque; int rc; - ENTRY; req = ptlrpc_request_alloc(imp, &RQF_MDS_HSM_REQUEST); if (req == NULL) @@ -1411,7 +1375,7 @@ static int mdc_ioc_hsm_request(struct obd_export *exp, rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_HSM_REQUEST); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, NULL, NULL, OBD_MD_FLRMTPERM, 0, 0, 0); @@ -1476,21 +1440,20 @@ static int changelog_kkuc_cb(const struct lu_env *env, struct llog_handle *llh, struct llog_changelog_rec *rec = (struct llog_changelog_rec *)hdr; struct kuc_hdr *lh; int len, rc; - ENTRY; if (rec->cr_hdr.lrh_type != CHANGELOG_REC) { rc = -EINVAL; CERROR("%s: not a changelog rec %x/%d: rc = %d\n", cs->cs_obd->obd_name, rec->cr_hdr.lrh_type, rec->cr.cr_type, rc); - RETURN(rc); + return rc; } if (rec->cr.cr_index < cs->cs_startrec) { /* Skip entries earlier than what we are interested in */ CDEBUG(D_CHANGELOG, "rec="LPU64" start="LPU64"\n", rec->cr.cr_index, cs->cs_startrec); - RETURN(0); + return 0; } CDEBUG(D_CHANGELOG, LPU64" %02d%-5s "LPU64" 0x%x t="DFID" p="DFID @@ -1509,7 +1472,7 @@ static int changelog_kkuc_cb(const struct lu_env *env, struct llog_handle *llh, rc = libcfs_kkuc_msg_put(cs->cs_fp, lh); CDEBUG(D_CHANGELOG, "kucmsg fp %p len %d rc %d\n", cs->cs_fp, len,rc); - RETURN(rc); + return rc; } static int mdc_changelog_send_thread(void *csdata) @@ -1608,13 +1571,12 @@ static int mdc_quotacheck(struct obd_device *unused, struct obd_export *exp, struct ptlrpc_request *req; struct obd_quotactl *body; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), &RQF_MDS_QUOTACHECK, LUSTRE_MDS_VERSION, MDS_QUOTACHECK); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; body = req_capsule_client_get(&req->rq_pill, &RMF_OBD_QUOTACTL); *body = *oqctl; @@ -1628,7 +1590,7 @@ static int mdc_quotacheck(struct obd_device *unused, struct obd_export *exp, if (rc) cli->cl_qchk_stat = rc; ptlrpc_req_finished(req); - RETURN(rc); + return rc; } static int mdc_quota_poll_check(struct obd_export *exp, @@ -1636,7 +1598,6 @@ static int mdc_quota_poll_check(struct obd_export *exp, { struct client_obd *cli = &exp->exp_obd->u.cli; int rc; - ENTRY; qchk->obd_uuid = cli->cl_target_uuid; memcpy(qchk->obd_type, LUSTRE_MDS_NAME, strlen(LUSTRE_MDS_NAME)); @@ -1645,7 +1606,7 @@ static int mdc_quota_poll_check(struct obd_export *exp, /* the client is not the previous one */ if (rc == CL_NOT_QUOTACHECKED) rc = -EINTR; - RETURN(rc); + return rc; } static int mdc_quotactl(struct obd_device *unused, struct obd_export *exp, @@ -1654,13 +1615,12 @@ static int mdc_quotactl(struct obd_device *unused, struct obd_export *exp, struct ptlrpc_request *req; struct obd_quotactl *oqc; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), &RQF_MDS_QUOTACTL, LUSTRE_MDS_VERSION, MDS_QUOTACTL); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; oqc = req_capsule_client_get(&req->rq_pill, &RMF_OBD_QUOTACTL); *oqc = *oqctl; @@ -1682,7 +1642,7 @@ static int mdc_quotactl(struct obd_device *unused, struct obd_export *exp, } ptlrpc_req_finished(req); - RETURN(rc); + return rc; } static int mdc_ioc_swap_layouts(struct obd_export *exp, @@ -1692,7 +1652,6 @@ static int mdc_ioc_swap_layouts(struct obd_export *exp, struct ptlrpc_request *req; int rc, count; struct mdc_swap_layouts *msl, *payload; - ENTRY; msl = op_data->op_data; @@ -1711,7 +1670,7 @@ static int mdc_ioc_swap_layouts(struct obd_export *exp, &RQF_MDS_SWAP_LAYOUTS); if (req == NULL) { ldlm_lock_list_put(&cancels, l_bl_ast, count); - RETURN(-ENOMEM); + return -ENOMEM; } mdc_set_capa_size(req, &RMF_CAPA1, op_data->op_capa1); @@ -1720,7 +1679,7 @@ static int mdc_ioc_swap_layouts(struct obd_export *exp, rc = mdc_prep_elc_req(exp, req, MDS_SWAP_LAYOUTS, &cancels, count); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_swap_layouts_pack(req, op_data); @@ -1735,7 +1694,6 @@ static int mdc_ioc_swap_layouts(struct obd_export *exp, rc = ptlrpc_queue_wait(req); if (rc) GOTO(out, rc); - EXIT; out: ptlrpc_req_finished(req); @@ -1750,7 +1708,6 @@ static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len, struct obd_import *imp = obd->u.cli.cl_import; struct llog_ctxt *ctxt; int rc; - ENTRY; if (!try_module_get(THIS_MODULE)) { CERROR("Can't get module. Is it alive?"); @@ -1774,6 +1731,9 @@ static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len, GOTO(out, rc); case LL_IOC_HSM_CT_START: rc = mdc_ioc_hsm_ct_start(exp, karg); + /* ignore if it was already registered on this MDS. */ + if (rc == -EEXIST) + rc = 0; GOTO(out, rc); case LL_IOC_HSM_PROGRESS: rc = mdc_ioc_hsm_progress(exp, karg); @@ -1855,7 +1815,7 @@ static int mdc_iocontrol(unsigned int cmd, struct obd_export *exp, int len, OBD_ALLOC_PTR(oqctl); if (!oqctl) - RETURN(-ENOMEM); + return -ENOMEM; QCTL_COPY(oqctl, qctl); rc = obd_quotactl(exp, oqctl); @@ -1897,11 +1857,10 @@ int mdc_get_info_rpc(struct obd_export *exp, struct ptlrpc_request *req; char *tmp; int rc = -EINVAL; - ENTRY; req = ptlrpc_request_alloc(imp, &RQF_MDS_GET_INFO); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; req_capsule_set_size(&req->rq_pill, &RMF_GETINFO_KEY, RCL_CLIENT, keylen); @@ -1911,7 +1870,7 @@ int mdc_get_info_rpc(struct obd_export *exp, rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_GET_INFO); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } tmp = req_capsule_client_get(&req->rq_pill, &RMF_GETINFO_KEY); @@ -1936,7 +1895,7 @@ int mdc_get_info_rpc(struct obd_export *exp, } ptlrpc_req_finished(req); - RETURN(rc); + return rc; } static void lustre_swab_hai(struct hsm_action_item *h) @@ -1991,19 +1950,10 @@ static int mdc_ioc_hsm_ct_start(struct obd_export *exp, lk->lk_uid, lk->lk_group, lk->lk_flags); if (lk->lk_flags & LK_FLG_STOP) { - rc = libcfs_kkuc_group_rem(lk->lk_uid, lk->lk_group); /* Unregister with the coordinator */ - if (rc == 0) - rc = mdc_ioc_hsm_ct_unregister(imp); + rc = mdc_ioc_hsm_ct_unregister(imp); } else { - struct file *fp = fget(lk->lk_wfd); - - rc = libcfs_kkuc_group_add(fp, lk->lk_uid, lk->lk_group, - lk->lk_data); - if (rc && fp) - fput(fp); - if (rc == 0) - rc = mdc_ioc_hsm_ct_register(imp, archive); + rc = mdc_ioc_hsm_ct_register(imp, archive); } return rc; @@ -2019,19 +1969,18 @@ static int mdc_hsm_copytool_send(int len, void *val) struct kuc_hdr *lh = (struct kuc_hdr *)val; struct hsm_action_list *hal = (struct hsm_action_list *)(lh + 1); int rc; - ENTRY; if (len < sizeof(*lh) + sizeof(*hal)) { CERROR("Short HSM message %d < %d\n", len, (int) (sizeof(*lh) + sizeof(*hal))); - RETURN(-EPROTO); + return -EPROTO; } if (lh->kuc_magic == __swab16(KUC_MAGIC)) { lustre_swab_kuch(lh); lustre_swab_hal(hal); } else if (lh->kuc_magic != KUC_MAGIC) { CERROR("Bad magic %x!=%x\n", lh->kuc_magic, KUC_MAGIC); - RETURN(-EPROTO); + return -EPROTO; } CDEBUG(D_HSM, " Received message mg=%x t=%d m=%d l=%d actions=%d " @@ -2042,7 +1991,7 @@ static int mdc_hsm_copytool_send(int len, void *val) /* Broadcast to HSM listeners */ rc = libcfs_kkuc_group_put(KUC_GRP_HSM, lh); - RETURN(rc); + return rc; } /** @@ -2084,11 +2033,10 @@ int mdc_set_info_async(const struct lu_env *env, { struct obd_import *imp = class_exp2cliimp(exp); int rc; - ENTRY; if (KEY_IS(KEY_READ_ONLY)) { if (vallen != sizeof(int)) - RETURN(-EINVAL); + return -EINVAL; spin_lock(&imp->imp_lock); if (*((int *)val)) { @@ -2104,15 +2052,15 @@ int mdc_set_info_async(const struct lu_env *env, rc = do_set_info_async(imp, MDS_SET_INFO, LUSTRE_MDS_VERSION, keylen, key, vallen, val, set); - RETURN(rc); + return rc; } if (KEY_IS(KEY_SPTLRPC_CONF)) { sptlrpc_conf_client_adapt(exp->exp_obd); - RETURN(0); + return 0; } if (KEY_IS(KEY_FLUSH_CTX)) { sptlrpc_import_flush_my_ctx(imp); - RETURN(0); + return 0; } if (KEY_IS(KEY_MDS_CONN)) { /* mds-mds import */ @@ -2121,20 +2069,20 @@ int mdc_set_info_async(const struct lu_env *env, spin_unlock(&imp->imp_lock); imp->imp_client->cli_request_portal = MDS_MDS_PORTAL; CDEBUG(D_OTHER, "%s: timeout / 2\n", exp->exp_obd->obd_name); - RETURN(0); + return 0; } if (KEY_IS(KEY_CHANGELOG_CLEAR)) { rc = do_set_info_async(imp, MDS_SET_INFO, LUSTRE_MDS_VERSION, keylen, key, vallen, val, set); - RETURN(rc); + return rc; } if (KEY_IS(KEY_HSM_COPYTOOL_SEND)) { rc = mdc_hsm_copytool_send(vallen, val); - RETURN(rc); + return rc; } CERROR("Unknown key %s\n", (char *)key); - RETURN(-EINVAL); + return -EINVAL; } int mdc_get_info(const struct lu_env *env, struct obd_export *exp, @@ -2147,30 +2095,30 @@ int mdc_get_info(const struct lu_env *env, struct obd_export *exp, int mdsize, *max_easize; if (*vallen != sizeof(int)) - RETURN(-EINVAL); + return -EINVAL; mdsize = *(int*)val; if (mdsize > exp->exp_obd->u.cli.cl_max_mds_easize) exp->exp_obd->u.cli.cl_max_mds_easize = mdsize; max_easize = val; *max_easize = exp->exp_obd->u.cli.cl_max_mds_easize; - RETURN(0); + return 0; } else if (KEY_IS(KEY_CONN_DATA)) { struct obd_import *imp = class_exp2cliimp(exp); struct obd_connect_data *data = val; if (*vallen != sizeof(*data)) - RETURN(-EINVAL); + return -EINVAL; *data = imp->imp_connect_data; - RETURN(0); + return 0; } else if (KEY_IS(KEY_TGT_COUNT)) { *((int *)val) = 1; - RETURN(0); + return 0; } rc = mdc_get_info_rpc(exp, keylen, key, *vallen, val); - RETURN(rc); + return rc; } static int mdc_pin(struct obd_export *exp, const struct lu_fid *fid, @@ -2180,18 +2128,17 @@ static int mdc_pin(struct obd_export *exp, const struct lu_fid *fid, struct ptlrpc_request *req; struct mdt_body *body; int rc; - ENTRY; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_PIN); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, oc); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_PIN); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, fid, oc, 0, 0, -1, flags); @@ -2220,11 +2167,11 @@ static int mdc_pin(struct obd_export *exp, const struct lu_fid *fid, } handle->och_mod->mod_open_req = req; /* will be dropped by unpin */ - RETURN(0); + return 0; err_out: ptlrpc_req_finished(req); - RETURN(rc); + return rc; } static int mdc_unpin(struct obd_export *exp, struct obd_client_handle *handle, @@ -2233,12 +2180,11 @@ static int mdc_unpin(struct obd_export *exp, struct obd_client_handle *handle, struct ptlrpc_request *req; struct mdt_body *body; int rc; - ENTRY; req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), &RQF_MDS_UNPIN, LUSTRE_MDS_VERSION, MDS_UNPIN); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; body = req_capsule_client_get(&req->rq_pill, &RMF_MDT_BODY); body->handle = handle->och_fh; @@ -2257,7 +2203,7 @@ static int mdc_unpin(struct obd_export *exp, struct obd_client_handle *handle, ptlrpc_req_finished(handle->och_mod->mod_open_req); obd_mod_put(handle->och_mod); - RETURN(rc); + return rc; } int mdc_sync(struct obd_export *exp, const struct lu_fid *fid, @@ -2265,19 +2211,18 @@ int mdc_sync(struct obd_export *exp, const struct lu_fid *fid, { struct ptlrpc_request *req; int rc; - ENTRY; *request = NULL; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_SYNC); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, oc); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_SYNC); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, fid, oc, 0, 0, -1, 0); @@ -2289,7 +2234,7 @@ int mdc_sync(struct obd_export *exp, const struct lu_fid *fid, ptlrpc_req_finished(req); else *request = req; - RETURN(rc); + return rc; } static int mdc_import_event(struct obd_device *obd, struct obd_import *imp, @@ -2328,7 +2273,7 @@ static int mdc_import_event(struct obd_device *obd, struct obd_import *imp, } case IMP_EVENT_ACTIVE: rc = obd_notify_observer(obd, obd, OBD_NOTIFY_ACTIVE, NULL); - /* restore re-establish kuc registration after reconnecting */ + /* redo the kuc registration after reconnecting */ if (rc == 0) rc = mdc_kuc_reregister(imp); break; @@ -2342,7 +2287,7 @@ static int mdc_import_event(struct obd_device *obd, struct obd_import *imp, CERROR("Unknown import event %x\n", event); LBUG(); } - RETURN(rc); + return rc; } int mdc_fid_alloc(struct obd_export *exp, struct lu_fid *fid, @@ -2350,8 +2295,8 @@ int mdc_fid_alloc(struct obd_export *exp, struct lu_fid *fid, { struct client_obd *cli = &exp->exp_obd->u.cli; struct lu_client_seq *seq = cli->cl_seq; - ENTRY; - RETURN(seq_client_alloc_fid(NULL, seq, fid)); + + return seq_client_alloc_fid(NULL, seq, fid); } struct obd_uuid *mdc_get_uuid(struct obd_export *exp) { @@ -2367,15 +2312,15 @@ struct obd_uuid *mdc_get_uuid(struct obd_export *exp) { static int mdc_cancel_for_recovery(struct ldlm_lock *lock) { if (lock->l_resource->lr_type != LDLM_IBITS) - RETURN(0); + return 0; /* FIXME: if we ever get into a situation where there are too many * opened files with open locks on a single node, then we really * should replay these open locks to reget it */ if (lock->l_policy_data.l_inodebits.bits & MDS_INODELOCK_OPEN) - RETURN(0); + return 0; - RETURN(1); + return 1; } static int mdc_resource_inode_free(struct ldlm_resource *res) @@ -2387,7 +2332,7 @@ static int mdc_resource_inode_free(struct ldlm_resource *res) } struct ldlm_valblock_ops inode_lvbo = { - lvbo_free: mdc_resource_inode_free + .lvbo_free = mdc_resource_inode_free, }; static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg) @@ -2395,11 +2340,10 @@ static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg) struct client_obd *cli = &obd->u.cli; struct lprocfs_static_vars lvars = { 0 }; int rc; - ENTRY; OBD_ALLOC(cli->cl_rpc_lock, sizeof (*cli->cl_rpc_lock)); if (!cli->cl_rpc_lock) - RETURN(-ENOMEM); + return -ENOMEM; mdc_init_rpc_lock(cli->cl_rpc_lock); ptlrpcd_addref(); @@ -2427,14 +2371,14 @@ static int mdc_setup(struct obd_device *obd, struct lustre_cfg *cfg) CERROR("failed to setup llogging subsystems\n"); } - RETURN(rc); + return rc; err_close_lock: OBD_FREE(cli->cl_close_lock, sizeof (*cli->cl_close_lock)); err_rpc_lock: OBD_FREE(cli->cl_rpc_lock, sizeof (*cli->cl_rpc_lock)); ptlrpcd_decref(); - RETURN(rc); + return rc; } /* Initialize the default and maximum LOV EA and cookie sizes. This allows @@ -2446,7 +2390,6 @@ static int mdc_init_ea_size(struct obd_export *exp, int easize, { struct obd_device *obd = exp->exp_obd; struct client_obd *cli = &obd->u.cli; - ENTRY; if (cli->cl_max_mds_easize < easize) cli->cl_max_mds_easize = easize; @@ -2457,13 +2400,12 @@ static int mdc_init_ea_size(struct obd_export *exp, int easize, if (cli->cl_max_mds_cookiesize < cookiesize) cli->cl_max_mds_cookiesize = cookiesize; - RETURN(0); + return 0; } static int mdc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage) { int rc = 0; - ENTRY; switch (stage) { case OBD_CLEANUP_EARLY: @@ -2482,7 +2424,7 @@ static int mdc_precleanup(struct obd_device *obd, enum obd_cleanup_stage stage) CERROR("failed to cleanup llogging subsystems\n"); break; } - RETURN(rc); + return rc; } static int mdc_cleanup(struct obd_device *obd) @@ -2504,33 +2446,29 @@ static int mdc_llog_init(struct obd_device *obd, struct obd_llog_group *olg, struct llog_ctxt *ctxt; int rc; - ENTRY; - LASSERT(olg == &obd->obd_olg); rc = llog_setup(NULL, obd, olg, LLOG_CHANGELOG_REPL_CTXT, tgt, &llog_client_ops); if (rc) - RETURN(rc); + return rc; ctxt = llog_group_get_ctxt(olg, LLOG_CHANGELOG_REPL_CTXT); llog_initiator_connect(ctxt); llog_ctxt_put(ctxt); - RETURN(0); + return 0; } static int mdc_llog_finish(struct obd_device *obd, int count) { struct llog_ctxt *ctxt; - ENTRY; - ctxt = llog_get_context(obd, LLOG_CHANGELOG_REPL_CTXT); if (ctxt) llog_cleanup(NULL, ctxt); - RETURN(0); + return 0; } static int mdc_process_config(struct obd_device *obd, obd_count len, void *buf) @@ -2559,21 +2497,20 @@ int mdc_get_remote_perm(struct obd_export *exp, const struct lu_fid *fid, { struct ptlrpc_request *req; int rc; - ENTRY; LASSERT(client_is_remote(exp)); *request = NULL; req = ptlrpc_request_alloc(class_exp2cliimp(exp), &RQF_MDS_GETATTR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; mdc_set_capa_size(req, &RMF_CAPA1, oc); rc = ptlrpc_request_pack(req, LUSTRE_MDS_VERSION, MDS_GETATTR); if (rc) { ptlrpc_request_free(req); - RETURN(rc); + return rc; } mdc_pack_body(req, fid, oc, OBD_MD_FLRMTPERM, 0, suppgid, 0); @@ -2588,7 +2525,7 @@ int mdc_get_remote_perm(struct obd_export *exp, const struct lu_fid *fid, ptlrpc_req_finished(req); else *request = req; - RETURN(rc); + return rc; } static int mdc_interpret_renew_capa(const struct lu_env *env, @@ -2598,7 +2535,6 @@ static int mdc_interpret_renew_capa(const struct lu_env *env, struct mdc_renew_capa_args *ra = args; struct mdt_body *body = NULL; struct lustre_capa *capa; - ENTRY; if (status) GOTO(out, capa = ERR_PTR(status)); @@ -2613,7 +2549,6 @@ static int mdc_interpret_renew_capa(const struct lu_env *env, capa = req_capsule_server_get(&req->rq_pill, &RMF_CAPA2); if (!capa) GOTO(out, capa = ERR_PTR(-EFAULT)); - EXIT; out: ra->ra_cb(ra->ra_oc, capa); return 0; @@ -2624,12 +2559,11 @@ static int mdc_renew_capa(struct obd_export *exp, struct obd_capa *oc, { struct ptlrpc_request *req; struct mdc_renew_capa_args *ra; - ENTRY; req = ptlrpc_request_alloc_pack(class_exp2cliimp(exp), &RQF_MDS_GETATTR, LUSTRE_MDS_VERSION, MDS_GETATTR); if (req == NULL) - RETURN(-ENOMEM); + return -ENOMEM; /* NB, OBD_MD_FLOSSCAPA is set here, but it doesn't necessarily mean the * capa to renew is oss capa. @@ -2643,7 +2577,7 @@ static int mdc_renew_capa(struct obd_export *exp, struct obd_capa *oc, ra->ra_cb = cb; req->rq_interpret_reply = mdc_interpret_renew_capa; ptlrpcd_add_req(req, PDL_POLICY_LOCAL, -1); - RETURN(0); + return 0; } static int mdc_connect(const struct lu_env *env, @@ -2737,7 +2671,7 @@ int __init mdc_init(void) rc = class_register_type(&mdc_obd_ops, &mdc_md_ops, lvars.module_vars, LUSTRE_MDC_NAME, NULL); - RETURN(rc); + return rc; } static void /*__exit*/ mdc_exit(void) |