static const struct lu_object_operations mdt_obj_ops;
/* Slab for MDT object allocation */
-static cfs_mem_cache_t *mdt_object_kmem;
+static struct kmem_cache *mdt_object_kmem;
static struct lu_kmem_descr mdt_caches[] = {
{
PFID(mdt_object_fid(o)), rc);
rc = -EFAULT;
} else {
- int print_limit = min_t(int, CFS_PAGE_SIZE - 128, rc);
+ int print_limit = min_t(int, PAGE_CACHE_SIZE - 128, rc);
if (OBD_FAIL_CHECK(OBD_FAIL_MDS_READLINK_EPROTO))
rc -= 2;
for (i = 0, tmpcount = nob; i < rdpg->rp_npages && tmpcount > 0;
i++, tmpcount -= tmpsize) {
- tmpsize = min_t(int, tmpcount, CFS_PAGE_SIZE);
+ tmpsize = min_t(int, tmpcount, PAGE_CACHE_SIZE);
ptlrpc_prep_bulk_page_pin(desc, rdpg->rp_pages[i], 0, tmpsize);
}
rdpg->rp_attrs |= LUDA_64BITHASH;
rdpg->rp_count = min_t(unsigned int, reqbody->nlink,
exp_max_brw_size(info->mti_exp));
- rdpg->rp_npages = (rdpg->rp_count + CFS_PAGE_SIZE - 1) >>
- CFS_PAGE_SHIFT;
+ rdpg->rp_npages = (rdpg->rp_count + PAGE_CACHE_SIZE - 1) >>
+ PAGE_CACHE_SHIFT;
OBD_ALLOC(rdpg->rp_pages, rdpg->rp_npages * sizeof rdpg->rp_pages[0]);
if (rdpg->rp_pages == NULL)
RETURN(-ENOMEM);
for (i = 0; i < rdpg->rp_npages; ++i) {
- rdpg->rp_pages[i] = cfs_alloc_page(CFS_ALLOC_STD);
+ rdpg->rp_pages[i] = alloc_page(GFP_IOFS);
if (rdpg->rp_pages[i] == NULL)
GOTO(free_rdpg, rc = -ENOMEM);
}
for (i = 0; i < rdpg->rp_npages; i++)
if (rdpg->rp_pages[i] != NULL)
- cfs_free_page(rdpg->rp_pages[i]);
+ __free_page(rdpg->rp_pages[i]);
OBD_FREE(rdpg->rp_pages, rdpg->rp_npages * sizeof rdpg->rp_pages[0]);
if (OBD_FAIL_CHECK(OBD_FAIL_MDS_SENDPAGE))
GOTO(out, rc = -EFAULT);
rdpg->rp_count = min_t(unsigned int, req_ii->ii_count << LU_PAGE_SHIFT,
exp_max_brw_size(info->mti_exp));
- rdpg->rp_npages = (rdpg->rp_count + CFS_PAGE_SIZE -1) >> CFS_PAGE_SHIFT;
+ rdpg->rp_npages = (rdpg->rp_count + PAGE_CACHE_SIZE - 1) >>
+ PAGE_CACHE_SHIFT;
/* allocate pages to store the containers */
OBD_ALLOC(rdpg->rp_pages, rdpg->rp_npages * sizeof(rdpg->rp_pages[0]));
if (rdpg->rp_pages == NULL)
GOTO(out, rc = -ENOMEM);
for (i = 0; i < rdpg->rp_npages; i++) {
- rdpg->rp_pages[i] = cfs_alloc_page(CFS_ALLOC_STD);
+ rdpg->rp_pages[i] = alloc_page(GFP_IOFS);
if (rdpg->rp_pages[i] == NULL)
GOTO(out, rc = -ENOMEM);
}
if (rdpg->rp_pages) {
for (i = 0; i < rdpg->rp_npages; i++)
if (rdpg->rp_pages[i])
- cfs_free_page(rdpg->rp_pages[i]);
+ __free_page(rdpg->rp_pages[i]);
OBD_FREE(rdpg->rp_pages,
rdpg->rp_npages * sizeof(rdpg->rp_pages[0]));
}
/* execute policy */
rc = flv->it_act(opc, info, lockp, flags);
- rep = req_capsule_server_get(pill, &RMF_DLM_REP);
- rep->lock_policy_res2 =
- ptlrpc_status_hton(rep->lock_policy_res2);
+ /* Check whether the reply has been packed successfully. */
+ if (mdt_info_req(info)->rq_repmsg != NULL) {
+ rep = req_capsule_server_get(info->mti_pill,
+ &RMF_DLM_REP);
+ rep->lock_policy_res2 =
+ ptlrpc_status_hton(rep->lock_policy_res2);
+ }
} else {
rc = -EOPNOTSUPP;
}
ENTRY;
- OBD_SLAB_ALLOC_PTR_GFP(mo, mdt_object_kmem, CFS_ALLOC_IO);
+ OBD_SLAB_ALLOC_PTR_GFP(mo, mdt_object_kmem, __GFP_IO);
if (mo != NULL) {
struct lu_object *o;
struct lu_object_header *h;
if (rc < 0)
return rc;
- linkea_init(ldata);
-
- return 0;
+ return linkea_init(ldata);
}
static int mdt_path_current(struct mdt_thread_info *info,
rc = mdt_links_read(info, mdt_obj, &ldata);
mdt_object_put(info->mti_env, mdt_obj);
if (rc != 0)
- GOTO(out, rc = PTR_ERR(buf));
+ GOTO(out, rc);
leh = buf->lb_buf;
lee = (struct link_ea_entry *)(leh + 1); /* link #0 */