]> Zhao Yanbai Git Server - minix.git/commit
vm: new secondary cache code 18/418/6
authorBen Gras <ben@minix3.org>
Wed, 20 Mar 2013 19:18:52 +0000 (19:18 +0000)
committerBen Gras <ben@minix3.org>
Wed, 24 Apr 2013 10:18:16 +0000 (10:18 +0000)
commit49eb1f480675178546d93769e98b96ed9f0d7fc7
tree285bb517eb79c49c27f3aaaad30c90c217a1f823
parent742172836068ef2da2e38d69a0d80eb1ad020cc4
vm: new secondary cache code

Primary purpose of change: to support the mmap implementation, VM must
know both (a) about some block metadata for FS cache blocks, i.e.
inode numbers and inode offsets where applicable; and (b) know about
*all* cache blocks, i.e.  also of the FS primary caches and not just
the blocks that spill into the secondary one. This changes the
interface and VM data structures.

This change is only for the interface (libminixfs) and VM data
structures; the filesystem code is unmodified, so although the
secondary cache will be used as normal, blocks will not be annotated
with inode information until the FS is modified to provide this
information. Until it is modified, mmap of files will fail gracefully
on such filesystems.

This is indicated to VFS/VM by returning ENOSYS for REQ_PEEK.

Change-Id: I1d2df6c485e6c5e89eb28d9055076cc02629594e
41 files changed:
commands/service/parse.c
distrib/sets/lists/minix/mi
etc/system.conf
include/minix/com.h
include/minix/ipc.h
include/minix/libminixfs.h
include/minix/vm.h
lib/libminixfs/Makefile
lib/libminixfs/cache.c
lib/libsys/Makefile
lib/libsys/vm_cache.c [new file with mode: 0644]
servers/vm/Makefile
servers/vm/alloc.c
servers/vm/break.c
servers/vm/cache.c [new file with mode: 0644]
servers/vm/cache.h [new file with mode: 0644]
servers/vm/exit.c
servers/vm/fork.c
servers/vm/glo.h
servers/vm/main.c
servers/vm/mem_anon.c
servers/vm/mem_anon_contig.c
servers/vm/mem_cache.c [new file with mode: 0644]
servers/vm/mem_directphys.c
servers/vm/mem_shared.c
servers/vm/memtype.h
servers/vm/mmap.c
servers/vm/pagefaults.c
servers/vm/pb.c
servers/vm/proto.h
servers/vm/region.c
servers/vm/region.h
servers/vm/sanitycheck.h
servers/vm/slaballoc.c
servers/vm/utility.c
servers/vm/vm.h
servers/vm/vmproc.h
test/Makefile
test/test72.c
test/testvm.c
test/testvm.conf