From 8bea1252bcdd4b6529206cac45601a430aa43d70 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Thu, 11 May 1995 16:45:56 +0000 Subject: (_pager_mark_next_request_error, _pager_mark_object_error): Put the error code in the correct place in the pagemap rather than always at the beginning. (pager_get_error): Get the error code from the pagemap rather than just using the pagemap offset! --- libpager/mark-error.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libpager/mark-error.c') diff --git a/libpager/mark-error.c b/libpager/mark-error.c index 348a7c7c..411d3a7d 100644 --- a/libpager/mark-error.c +++ b/libpager/mark-error.c @@ -54,7 +54,7 @@ _pager_mark_next_request_error(struct pager *pager, break; } - for (p = pager->pagemap; p < pager->pagemap + length; p++) + for (p = pager->pagemap + offset; p < pager->pagemap + offset + length; p++) *p = SET_PM_NEXTERROR (*p, page_error); } @@ -92,7 +92,7 @@ _pager_mark_object_error(struct pager *pager, break; } - for (p = pager->pagemap; p < pager->pagemap + length; p++) + for (p = pager->pagemap + offset; p < pager->pagemap + offset + length; p++) *p = SET_PM_ERROR (*p, page_error); } @@ -107,9 +107,8 @@ pager_get_error (struct pager *p, mutex_lock (&p->interlock); _pager_pagemap_resize (p, addr); - err = _pager_page_errors[PM_ERROR(addr/__vm_page_size)]; + err = _pager_page_errors[PM_ERROR(p->pagemap[addr/__vm_page_size])]; mutex_unlock (&p->interlock); return err; } - -- cgit v1.2.3