From faf7ed89435b12a4a58b2ec0357e124bdc830b45 Mon Sep 17 00:00:00 2001 From: Thomas Bushnell Date: Wed, 20 Aug 1997 19:04:25 +0000 Subject: Wed Aug 20 14:28:00 1997 Thomas Bushnell, n/BSG * dir.c (diskfs_lookup_hard): Cope with error return from diskfs_get_filemap. (diskfs_dirempty): Cope (poorly) with error return from diskfs_get_filemap. * truncate.c (force_delayed_copies): Likewise. * pager.c (diskfs_get_filemap): If pager_create fails, return error to caller. --- ext2fs/pager.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ext2fs/pager.c') diff --git a/ext2fs/pager.c b/ext2fs/pager.c index 61f775c4..1b515bca 100644 --- a/ext2fs/pager.c +++ b/ext2fs/pager.c @@ -801,6 +801,14 @@ diskfs_get_filemap (struct node *node, vm_prot_t prot) node->dn->pager = pager_create (upi, pager_bucket, MAY_CACHE, MEMORY_OBJECT_COPY_DELAY); + if (node->dn->pager == 0) + { + diskfs_nrele_light (node); + free (upi); + spin_unlock (&node_to_page_lock); + return MACH_PORT_NULL; + } + right = pager_get_port (node->dn->pager); ports_port_deref (node->dn->pager); } -- cgit v1.2.3