提交 107ec052 创建 作者: Nickolai Zeldovich's avatar Nickolai Zeldovich

almost-tmpfs

上级 decfb4f4
......@@ -30,6 +30,8 @@
static struct ns *bufns;
enum { writeback = 0 };
void
binit(void)
{
......@@ -143,7 +145,8 @@ bwrite(struct buf *b)
if((b->flags & B_BUSY) == 0)
panic("bwrite");
b->flags |= B_DIRTY;
iderw(b);
if (writeback)
iderw(b);
}
// Release the buffer b.
......
......@@ -19,6 +19,7 @@ struct inode {
int flags; // I_BUSY, I_VALID
struct condvar cv;
struct spinlock lock;
char lockname[16];
short type; // copy of disk inode
short major;
......
......@@ -259,8 +259,9 @@ iget(uint dev, uint inum)
ip->inum = inum;
ip->ref = 1;
ip->flags = I_BUSY;
initlock(&ip->lock, "icache-lock");
initcondvar(&ip->cv, "icache-cv");
snprintf(ip->lockname, sizeof(ip->lockname), "cv:ino:%d", ip->inum);
initlock(&ip->lock, ip->lockname+3);
initcondvar(&ip->cv, ip->lockname);
if (ns_insert(ins, ip->inum, ip) < 0) {
rcu_delayed(ip, kmfree);
goto retry;
......
......@@ -3,7 +3,7 @@
#define NCPU 2 // maximum number of CPUs
#define NOFILE 16 // open files per process
#define NFILE 100 // open files per system
#define NBUF 10 // size of disk block cache
#define NBUF 1000 // size of disk block cache
#define NINODE 50 // maximum number of active i-nodes
#define NDEV 10 // maximum major device number
#define ROOTDEV 1 // device number of file system root disk
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论