From 9dd6afbc65092f2d706b124e296ac3d918ee81a6 Mon Sep 17 00:00:00 2001 From: Hurd Maintainers Date: Tue, 4 Oct 1994 22:46:15 +0000 Subject: Formerly pager.c.~40~ --- ufs/pager.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'ufs/pager.c') diff --git a/ufs/pager.c b/ufs/pager.c index 90e5d985..fd148d8d 100644 --- a/ufs/pager.c +++ b/ufs/pager.c @@ -117,8 +117,10 @@ pager_read_page (struct user_pager_info *pager, } else { +#if 0 printf ("Write-locked pagein Object %#x\tOffset %#x\n", pager, page); fflush (stdout); +#endif vm_allocate (mach_task_self (), buf, __vm_page_size, 1); *writelock = 1; } @@ -187,8 +189,10 @@ pager_unlock_page (struct user_pager_info *pager, /* Problem--where to get cred values for allocation here? */ +#if 0 printf ("Unlock page request, Object %#x\tOffset %#x...", pager, address); fflush (stdout); +#endif if (pager->type == DISK) return 0; @@ -216,6 +220,13 @@ pager_unlock_page (struct user_pager_info *pager, return EIO; } + err = diskfs_catch_exception (); + if (err) + { + rwlock_writer_unlock (&dn->allocptrlock); + return EIO; + } + /* See if we need a triple indirect block; fail if we do. */ assert (indirs[0].offset == -1 || indirs[1].offset == -1 -- cgit v1.2.3