Adds reading pages into page-cache in an ordered manner.

Added reading pages from the page cache into user buffer for sys_read.
Increases stack sizes to 4 pages.
Updated README to include more details about multi-pager environments.
This commit is contained in:
Bahadir Balban
2008-02-27 01:17:36 +00:00
parent 2a5cdf80b5
commit 0c9b42121a
9 changed files with 144 additions and 76 deletions

View File

@@ -66,15 +66,12 @@ int memfs_format_filesystem(void *buffer)
INIT_LIST_HEAD(&sb->inode_cache_list);
memfs_init_caches(sb);
/*
* TODO: Make sure root vnode has a vnode number of 0 !!!.
* This is used in early root lookup.
*/
BUG();
/* We allocate and fix a root inode so the sb is ready for mount */
sb->root = memfs_create_inode(sb);
/* Some early-init code relies on root having inode number 0 */
BUG_ON(sb->root->inum != 0);
return 0;
}

View File

@@ -113,15 +113,7 @@ int sys_open(l4id_t sender, const char *pathname, int flags, unsigned int mode)
int sys_close(l4id_t sender, int fd)
{
struct vnode *v;
/* Get the task */
BUG_ON(!(task = find_task(sender)));
/* Lookup vnode */
if (!(v = vfs_lookup_byvnum(vfs_root.pivot->sb, vnum)))
return -EINVAL; /* No such vnode */
return 0;
}
int sys_mkdir(l4id_t sender, const char *pathname, unsigned int mode)