From ef4229a378b328d5e731168dd43fbf1172ac38ac Mon Sep 17 00:00:00 2001 From: adilger Date: Thu, 14 Mar 2002 00:16:31 +0000 Subject: [PATCH] Use req->page instead of req->addr inside echo_commitrw, as the latter is unset by the callback function on a write (it worked fine for reads ;-). --- lustre/obdecho/echo.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lustre/obdecho/echo.c b/lustre/obdecho/echo.c index 2f1c644..72e9284 100644 --- a/lustre/obdecho/echo.c +++ b/lustre/obdecho/echo.c @@ -159,12 +159,12 @@ int echo_commitrw(int cmd, struct obd_conn *conn, int objcount, int j; for (j = 0 ; j < obj->ioo_bufcnt ; j++, r++) { - unsigned long addr; + struct page *page = r->page; + unsigned long addr = (unsigned long)page_address(page); - addr = r->addr; if (!addr || !kern_addr_valid(addr)) { - CERROR("bad addr %lx, id %Ld (%d), buf %d/%d\n", - addr, obj->ioo_id, i, j,obj->ioo_bufcnt); + CERROR("bad page %p, id %Ld (%d), buf %d/%d\n", + page, obj->ioo_id, i, j,obj->ioo_bufcnt); rc = -EFAULT; EXIT; goto commitrw_cleanup; @@ -182,7 +182,8 @@ commitrw_cleanup: CERROR("cleaning up %d pages (%d obdos)\n", niocount - (r - res) - 1, objcount); while (++r < res + niocount) { - unsigned long addr = r->addr; + struct page *page = r->page; + unsigned long addr = (unsigned long)page_address(page); free_pages(addr, 0); echo_pages--; -- 1.8.3.1