diff options
author | Thomas Bushnell <thomas@gnu.org> | 1997-08-20 19:04:25 +0000 |
---|---|---|
committer | Thomas Bushnell <thomas@gnu.org> | 1997-08-20 19:04:25 +0000 |
commit | faf7ed89435b12a4a58b2ec0357e124bdc830b45 (patch) | |
tree | dbf598eda93785e5d27abe691b98a8eb4a61fba3 /ext2fs/pager.c | |
parent | 3fe6d879dd6efb066188a07e06d9db10659e7e8f (diff) | |
download | hurd-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.c | 8 |
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); } |