summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-05-27 03:26:53 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-05-27 03:26:53 +0200
commit71a3ab3f13602a1fbac057c2413032fce9f56d9c (patch)
treeaee2627659b37d68645d3a9169b16fd1554c0382 /sys/src
parent6025ad06da148fa368f927c382281a3402a2dc0f (diff)
kernel: make imagereclaim() skip notext pages (prevent it from blowing the mount cache)
imagereclaim would happily uncache pages from the mountcache (port/cache.c) without ever getting a Image* released from it. simple fix, just check for p->image->notext but make sure todo it under the page lock :)
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/9/port/segment.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/src/9/port/segment.c b/sys/src/9/port/segment.c
index d3ad7cfbb..c71eb43e6 100644
--- a/sys/src/9/port/segment.c
+++ b/sys/src/9/port/segment.c
@@ -333,7 +333,7 @@ imagereclaim(void)
*/
for(p = palloc.tail; p && p->image && (n<1000 || !imagealloc.free); p = p->prev) {
if(p->ref == 0 && canlock(p)) {
- if(p->ref == 0) {
+ if(p->ref == 0 && p->image && !p->image->notext) {
n++;
uncachepage(p);
}