aboutsummaryrefslogtreecommitdiff
path: root/ext2fs/pager.c
diff options
context:
space:
mode:
authorThomas Bushnell <thomas@gnu.org>1997-08-20 19:04:25 +0000
committerThomas Bushnell <thomas@gnu.org>1997-08-20 19:04:25 +0000
commitfaf7ed89435b12a4a58b2ec0357e124bdc830b45 (patch)
treedbf598eda93785e5d27abe691b98a8eb4a61fba3 /ext2fs/pager.c
parent3fe6d879dd6efb066188a07e06d9db10659e7e8f (diff)
downloadhurd-faf7ed89435b12a4a58b2ec0357e124bdc830b45.tar.gz
hurd-faf7ed89435b12a4a58b2ec0357e124bdc830b45.tar.bz2
hurd-faf7ed89435b12a4a58b2ec0357e124bdc830b45.zip
Wed Aug 20 14:28:00 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* 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.
Diffstat (limited to 'ext2fs/pager.c')
-rw-r--r--ext2fs/pager.c8
1 files changed, 8 insertions, 0 deletions
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);
}