* shouldn't cross unit boundaries.
*/
static int mgs_nidtbl_read(struct obd_export *exp, struct mgs_nidtbl *tbl,
- struct mgs_config_res *res, cfs_page_t **pages,
+ struct mgs_config_res *res, struct page **pages,
int nrpages, int units_total, int unit_size)
{
struct mgs_nidtbl_target *tgt;
/* make sure unit_size is power 2 */
LASSERT((unit_size & (unit_size - 1)) == 0);
- LASSERT(nrpages << CFS_PAGE_SHIFT >= units_total * unit_size);
+ LASSERT(nrpages << PAGE_CACHE_SHIFT >= units_total * unit_size);
mutex_lock(&tbl->mn_lock);
LASSERT(nidtbl_is_sane(tbl));
}
LASSERT((rc & (unit_size - 1)) == 0);
- if (units_in_page == 0) {
- /* allocate a new page */
- pages[index] = cfs_alloc_page(CFS_ALLOC_STD);
- if (pages[index] == NULL) {
- rc = -ENOMEM;
- break;
- }
+ if (units_in_page == 0) {
+ /* allocate a new page */
+ pages[index] = alloc_page(GFP_IOFS);
+ if (pages[index] == NULL) {
+ rc = -ENOMEM;
+ break;
+ }
- /* destroy previous map */
- if (index > 0)
- cfs_kunmap(pages[index - 1]);
+ /* destroy previous map */
+ if (index > 0)
+ kunmap(pages[index - 1]);
- /* reassign buffer */
- buf = cfs_kmap(pages[index]);
- ++index;
+ /* reassign buffer */
+ buf = kmap(pages[index]);
+ ++index;
- units_in_page = CFS_PAGE_SIZE / unit_size;
- LASSERT(units_in_page > 0);
- }
+ units_in_page = PAGE_CACHE_SIZE / unit_size;
+ LASSERT(units_in_page > 0);
+ }
/* allocate an unit */
LASSERT(((long)buf & (unit_size - 1)) == 0);
bytes_in_unit, index, nrpages, units_total);
}
if (index > 0)
- cfs_kunmap(pages[index - 1]);
+ kunmap(pages[index - 1]);
out:
LASSERT(version <= tbl->mn_version);
res->mcr_size = tbl->mn_version;
int bytes;
int page_count;
int nrpages;
- cfs_page_t **pages = NULL;
+ struct page **pages = NULL;
ENTRY;
body = req_capsule_client_get(&req->rq_pill, &RMF_MGS_CONFIG_BODY);
RETURN(rc);
bufsize = body->mcb_units << body->mcb_bits;
- nrpages = (bufsize + CFS_PAGE_SIZE - 1) >> CFS_PAGE_SHIFT;
+ nrpages = (bufsize + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
if (nrpages > PTLRPC_MAX_BRW_PAGES)
RETURN(-EINVAL);
GOTO(out, rc = -EINVAL);
res->mcr_offset = body->mcb_offset;
- unit_size = min_t(int, 1 << body->mcb_bits, CFS_PAGE_SIZE);
+ unit_size = min_t(int, 1 << body->mcb_bits, PAGE_CACHE_SIZE);
bytes = mgs_nidtbl_read(req->rq_export, &fsdb->fsdb_nidtbl, res,
pages, nrpages, bufsize / unit_size, unit_size);
if (bytes < 0)
GOTO(out, rc = bytes);
/* start bulk transfer */
- page_count = (bytes + CFS_PAGE_SIZE - 1) >> CFS_PAGE_SHIFT;
+ page_count = (bytes + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
LASSERT(page_count <= nrpages);
desc = ptlrpc_prep_bulk_exp(req, page_count, 1,
BULK_PUT_SOURCE, MGS_BULK_PORTAL);
for (i = 0; i < page_count && bytes > 0; i++) {
ptlrpc_prep_bulk_page_pin(desc, pages[i], 0,
- min_t(int, bytes, CFS_PAGE_SIZE));
- bytes -= CFS_PAGE_SIZE;
+ min_t(int, bytes, PAGE_CACHE_SIZE));
+ bytes -= PAGE_CACHE_SIZE;
}
rc = target_bulk_io(req->rq_export, desc, &lwi);
for (i = 0; i < nrpages; i++) {
if (pages[i] == NULL)
break;
- cfs_free_page(pages[i]);
+ __free_page(pages[i]);
}
OBD_FREE(pages, sizeof(*pages) * nrpages);
return rc;
char *ptr;
int rc = 0;
- if (count > CFS_PAGE_SIZE)
+ if (count > PAGE_CACHE_SIZE)
return -EINVAL;
OBD_ALLOC(kbuf, count + 1);