minix/minix
David van Moolenbroek d75faf18d9 libminixfs: add support for memory-mapped holes
When VM asks a file system to provide a block to satisfy a page fault
on a file memory mapping, the file system previously had no way to
inform VM that the block is a hole, since there is no corresponding
block on the underlying device.  To work around this, MFS and ext2
would actually allocate a block for the hole when asked by VM, which
not only defeats the point of holes in the first place, but also does
not work on read-only file systems.  With this patch, a new libminixfs
call allows the file system to inform VM about holes.  This issue does
raise the question as to whether the VM cache is using the right data
structures, since there are now two places where we have to fake a
device offset.  This will have to be revisited in the future.

The patch changes file systems accordingly, and adds a test to test74.

Change-Id: Ib537d56b3f30a8eb05bc1f63c92b5c7428d18f4c
2015-08-13 13:46:48 +00:00
..
bin New sources layout 2014-07-31 16:00:30 +02:00
commands libminixfs/VM: fix memory-mapped file corruption 2015-08-13 13:46:46 +00:00
drivers audio: use standard Makefile structure 2015-08-08 16:55:03 +00:00
fs libminixfs: add support for memory-mapped holes 2015-08-13 13:46:48 +00:00
include libminixfs: add support for memory-mapped holes 2015-08-13 13:46:48 +00:00
kernel Kernel: correctly set USE_ defines from Makefile 2015-08-08 16:56:37 +00:00
lib libminixfs: add support for memory-mapped holes 2015-08-13 13:46:48 +00:00
llvm minix/llvm/passes/Makefile.inc: Fix 2014-08-29 12:56:57 -04:00
man Import NetBSD syslogd(8) 2015-07-26 11:57:04 +00:00
net lwip: no need to retrieve own endpoint 2015-08-08 16:57:14 +00:00
sbin New sources layout 2014-07-31 16:00:30 +02:00
servers libminixfs/VM: fix memory-mapped file corruption 2015-08-13 13:46:46 +00:00
share New sources layout 2014-07-31 16:00:30 +02:00
tests libminixfs: add support for memory-mapped holes 2015-08-13 13:46:48 +00:00
usr.bin VFS: add support for F_DUPFD_CLOEXEC 2015-07-20 13:55:10 +00:00
usr.sbin mkfs.mfs: remove Linux mount check 2015-07-20 10:59:49 +00:00
Makefile benchmarks: remove unixbench 2015-07-20 11:05:28 +00:00
Makefile.inc New sources layout 2014-07-31 16:00:30 +02:00