X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fptlrpc%2Fnodemap_storage.c;h=0a7602ece6b121749d71d6a7174435208b4b02da;hp=c3e515fc410ef11531b022514336074bd3ce414a;hb=ebea7c87f758d843cf71fb5873b2955f6fbf9044;hpb=5b64d9fb0d5c5f292548c23e7841cc30f7a8423e diff --git a/lustre/ptlrpc/nodemap_storage.c b/lustre/ptlrpc/nodemap_storage.c index c3e515f..0a7602e 100644 --- a/lustre/ptlrpc/nodemap_storage.c +++ b/lustre/ptlrpc/nodemap_storage.c @@ -87,9 +87,9 @@ static void nodemap_cluster_key_init(struct nodemap_key *nk, unsigned int nm_id) static void nodemap_cluster_rec_init(union nodemap_rec *nr, const struct lu_nodemap *nodemap) { - CLASSERT(sizeof(nr->ncr.ncr_name) == sizeof(nodemap->nm_name)); + BUILD_BUG_ON(sizeof(nr->ncr.ncr_name) != sizeof(nodemap->nm_name)); - strncpy(nr->ncr.ncr_name, nodemap->nm_name, sizeof(nodemap->nm_name)); + strncpy(nr->ncr.ncr_name, nodemap->nm_name, sizeof(nr->ncr.ncr_name)); nr->ncr.ncr_squash_uid = cpu_to_le32(nodemap->nm_squash_uid); nr->ncr.ncr_squash_gid = cpu_to_le32(nodemap->nm_squash_gid); nr->ncr.ncr_flags = cpu_to_le32( @@ -249,7 +249,7 @@ static int nodemap_idx_insert(const struct lu_env *env, struct dt_device *dev = lu2dt_dev(idx->do_lu.lo_dev); int rc; - CLASSERT(sizeof(union nodemap_rec) == 32); + BUILD_BUG_ON(sizeof(union nodemap_rec) != 32); th = dt_trans_create(env, dev); @@ -273,7 +273,7 @@ static int nodemap_idx_insert(const struct lu_env *env, dt_write_lock(env, idx, 0); rc = dt_insert(env, idx, (const struct dt_rec *)nr, - (const struct dt_key *)nk, th, 1); + (const struct dt_key *)nk, th); nodemap_inc_version(env, idx, th); dt_write_unlock(env, idx); @@ -321,7 +321,7 @@ static int nodemap_idx_update(const struct lu_env *env, GOTO(out_lock, rc); rc = dt_insert(env, idx, (const struct dt_rec *)nr, - (const struct dt_key *)nk, th, 1); + (const struct dt_key *)nk, th); if (rc != 0) GOTO(out_lock, rc); @@ -671,7 +671,7 @@ static int nodemap_process_keyrec(struct nodemap_config *config, ENTRY; - CLASSERT(sizeof(union nodemap_rec) == 32); + BUILD_BUG_ON(sizeof(union nodemap_rec) != 32); nodemap_id = le32_to_cpu(key->nk_nodemap_id); type = nodemap_get_key_type(key); @@ -722,7 +722,6 @@ static int nodemap_process_keyrec(struct nodemap_config *config, if (nodemap_id == LUSTRE_NODEMAP_DEFAULT_ID) { nodemap = nodemap_create(rec->ncr.ncr_name, config, 1); - config->nmc_default_nodemap = nodemap; } else { nodemap = nodemap_create(rec->ncr.ncr_name, config, 0); @@ -937,10 +936,10 @@ out: if (new_config->nmc_default_nodemap == NULL) { /* new MGS won't have a default nm on disk, so create it here */ - new_config->nmc_default_nodemap = + struct lu_nodemap *nodemap = nodemap_create(DEFAULT_NODEMAP, new_config, 1); - if (IS_ERR(new_config->nmc_default_nodemap)) { - rc = PTR_ERR(new_config->nmc_default_nodemap); + if (IS_ERR(nodemap)) { + rc = PTR_ERR(nodemap); } else { rc = nodemap_idx_nodemap_add_update( new_config->nmc_default_nodemap, @@ -1460,12 +1459,12 @@ EXPORT_SYMBOL(nodemap_index_read); int nodemap_get_config_req(struct obd_device *mgs_obd, struct ptlrpc_request *req) { + const struct ptlrpc_bulk_frag_ops *frag_ops = &ptlrpc_bulk_kiov_pin_ops; struct mgs_config_body *body; struct mgs_config_res *res; struct lu_rdpg rdpg; struct idx_info nodemap_ii; struct ptlrpc_bulk_desc *desc; - struct l_wait_info lwi; struct tg_export_data *rqexp_ted = &req->rq_export->exp_target_data; int i; int page_count; @@ -1523,18 +1522,17 @@ int nodemap_get_config_req(struct obd_device *mgs_obd, desc = ptlrpc_prep_bulk_exp(req, page_count, 1, PTLRPC_BULK_PUT_SOURCE | PTLRPC_BULK_BUF_KIOV, - MGS_BULK_PORTAL, - &ptlrpc_bulk_kiov_pin_ops); + MGS_BULK_PORTAL, frag_ops); if (desc == NULL) GOTO(out, rc = -ENOMEM); for (i = 0; i < page_count && bytes > 0; i++) { - ptlrpc_prep_bulk_page_pin(desc, rdpg.rp_pages[i], 0, - min_t(int, bytes, PAGE_SIZE)); + frag_ops->add_kiov_frag(desc, rdpg.rp_pages[i], 0, + min_t(int, bytes, PAGE_SIZE)); bytes -= PAGE_SIZE; } - rc = target_bulk_io(req->rq_export, desc, &lwi); + rc = target_bulk_io(req->rq_export, desc); ptlrpc_free_bulk(desc); out: