if (*left == 0)
return -EINVAL;
- res->offset = offset;
- res->len = plen;
- LASSERT((res->offset & ~CFS_PAGE_MASK) + res->len <= CFS_PAGE_SIZE);
-
-
- if (ispersistent &&
- (res->offset >> CFS_PAGE_SHIFT) < ECHO_PERSISTENT_PAGES) {
- res->page = echo_persistent_pages[res->offset >>
- CFS_PAGE_SHIFT];
+ res->lnb_file_offset = offset;
+ res->len = plen;
+ LASSERT((res->lnb_file_offset & ~CFS_PAGE_MASK) + res->len <=
+ CFS_PAGE_SIZE);
+
+ if (ispersistent &&
+ ((res->lnb_file_offset >> CFS_PAGE_SHIFT) <
+ ECHO_PERSISTENT_PAGES)) {
+ res->page =
+ echo_persistent_pages[res->lnb_file_offset >>
+ CFS_PAGE_SHIFT];
/* Take extra ref so __free_pages() can be called OK */
cfs_get_page (res->page);
} else {
}
CDEBUG(D_PAGE, "$$$$ get page %p @ "LPU64" for %d\n",
- res->page, res->offset, res->len);
+ res->page, res->lnb_file_offset, res->len);
if (cmd & OBD_BRW_READ)
res->rc = res->len;
if (debug_setup)
echo_page_debug_setup(res->page, cmd, obj->ioo_id,
- res->offset, res->len);
+ res->lnb_file_offset, res->len);
offset += plen;
len -= plen;
addr = cfs_kmap(page);
CDEBUG(D_PAGE, "$$$$ use page %p, addr %p@"LPU64"\n",
- res->page, addr, res->offset);
+ res->page, addr, res->lnb_file_offset);
if (verify) {
int vrc = echo_page_debug_check(page, obj->ioo_id,
- res->offset, res->len);
+ res->lnb_file_offset,
+ res->len);
/* check all the pages always */
if (vrc != 0 && rc == 0)
rc = vrc;