summaryrefslogtreecommitdiff
path: root/tmpfs/tmpfs.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-27 01:24:30 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-27 01:24:30 +0200
commite34814b27b4a5b80761c166d5827d1c9177fd1fe (patch)
tree6acd0dc3247162badbc350dcc59c66d00efa7458 /tmpfs/tmpfs.h
parent5c2ab2008137612797ccaa6c07599cc3e0f9e722 (diff)
Keep a reference on objects to preserve their content.
Modify tmpfs to keep a reference (by mapping it into its own space) to each memory object created by the user, so they don't get inmediately terminated at the end of the current operation. * tmpfs/tmpfs.h (struct disknode): Add `memref' field. * tmpfs/node.c (diskfs_get_filemap): vm_map() the first page of the newly-allocated object, store in `memref' field. (diskfs_free_node) vm_deallocate the page pointed by `memref' field.
Diffstat (limited to 'tmpfs/tmpfs.h')
-rw-r--r--tmpfs/tmpfs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/tmpfs/tmpfs.h b/tmpfs/tmpfs.h
index a0e1f7ad..3d38e2ab 100644
--- a/tmpfs/tmpfs.h
+++ b/tmpfs/tmpfs.h
@@ -47,6 +47,7 @@ struct disknode
struct
{
mach_port_t memobj;
+ vm_address_t memref;
unsigned int allocpages; /* largest size while memobj was live */
} reg;
struct