summaryrefslogtreecommitdiff
path: root/sys/src/9/port/portfns.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-07-26 05:43:26 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-07-26 05:43:26 +0200
commit6617c63a374f7211b41252d3957e8a89061b8a49 (patch)
tree649d456d9b95e47cfc10ac4b9ff2ec705c1633a3 /sys/src/9/port/portfns.h
parent918cb7604039601fecd70379b8bc2fee5b26a514 (diff)
kernel: pipelined read ahead for the mount cache
this changes devmnt adding mntrahread() function and some helpers for it to do pipelined sequential read ahead for the mount cache. basically, cread() calls mntrahread() with Mntrah structure and it figures out if we where reading sequentially and if thats the case issues reads of c->iounit size in advance. the read ahead state (Mntrah) is kept in the mount cache so we can handle (read ahead) cache invalidation in the presence of writes.
Diffstat (limited to 'sys/src/9/port/portfns.h')
-rw-r--r--sys/src/9/port/portfns.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/src/9/port/portfns.h b/sys/src/9/port/portfns.h
index 2f135c31b..db547d1a1 100644
--- a/sys/src/9/port/portfns.h
+++ b/sys/src/9/port/portfns.h
@@ -42,6 +42,7 @@ void confinit(void);
int consactive(void);
void (*consdebug)(void);
void copen(Chan*);
+void cclunk(Chan*);
Block* concatblock(Block*);
Block* copyblock(Block*, int);
void copypage(Page*, Page*);
@@ -283,6 +284,7 @@ int rand(void);
void randominit(void);
ulong randomread(void*, ulong);
void rdb(void);
+long readblist(Block *, uchar *, long, long);
int readnum(ulong, char*, ulong, ulong, int);
int readstr(ulong, char*, ulong, char*);
void ready(Proc*);