From 75c5fe4c26ea6b220e4b94c7f902116cb0c24277 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Wed, 20 Mar 2013 17:04:39 +0000 Subject: [PATCH] filesystems: return ENOSYS for REQ_PEEK The filesystems already implement REQ_PEEK, but do not fully use the new filesystem cache code yet. (Because it isn't committed yet..) REQ_PEEK should be disabled for them until they do. This indicates to VFS that they are not annotating their cache blocks (in VM) with inode number/offset info, and therefore mmap() shouldn't succeed on any of their files. (Most importantly exec() won't fallback elegantly otherwise.) Change-Id: Ic57ee422864b4bbc031eadba32973270907b02fd --- servers/ext2/table.c | 6 ++++++ servers/iso9660fs/table.c | 8 +++++++- servers/mfs/table.c | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/servers/ext2/table.c b/servers/ext2/table.c index 2ebfcbce2..af77d746b 100644 --- a/servers/ext2/table.c +++ b/servers/ext2/table.c @@ -46,5 +46,11 @@ int (*fs_call_vec[])(void) = { fs_rdlink, /* 30 */ fs_getdents, /* 31 */ fs_statvfs, /* 32 */ +#if 0 fs_readwrite, /* 33 */ + no_sys, +#else + no_sys, + no_sys, +#endif }; diff --git a/servers/iso9660fs/table.c b/servers/iso9660fs/table.c index e6cb5d387..12ac2f79a 100644 --- a/servers/iso9660fs/table.c +++ b/servers/iso9660fs/table.c @@ -41,5 +41,11 @@ int (*fs_call_vec[])(void) = { no_sys, /* 30: not used */ fs_getdents, /* 31 */ fs_statvfs, /* 32 */ - fs_read /* 33 */ +#if 0 + fs_read, /* 33 */ + no_sys, +#else + no_sys, + no_sys, +#endif }; diff --git a/servers/mfs/table.c b/servers/mfs/table.c index d54c91558..8d19c3b8a 100644 --- a/servers/mfs/table.c +++ b/servers/mfs/table.c @@ -44,6 +44,6 @@ int (*fs_call_vec[])(void) = { fs_rdlink, /* 30 */ fs_getdents, /* 31 */ fs_statvfs, /* 32 */ - fs_readwrite, /* 33 */ + no_sys, /* 33 */ /* peek not supported */ };