From f32f3638f4c34fbf2fc4398878e6304612bb3283 Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 21 Aug 2007 19:22:08 +0000 Subject: Various cleanup: - Got rid of dummy proc[0]. Now proc[0] is init. - Added initcode.S to exec /init, so that /init is just a regular binary. - Moved exec out of sysfile to exec.c - Moved code dealing with fs guts (like struct inode) from sysfile.c to fs.c. Code dealing with system call arguments stays in sysfile.c - Refactored directory routines in fs.c; should be simpler. - Changed iget to return *unlocked* inode structure. This solves the lookup-then-use race in namei without introducing deadlocks. It also enabled getting rid of the dummy proc[0]. --- fsvar.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'fsvar.h') diff --git a/fsvar.h b/fsvar.h index 449bf3d..8609c2a 100644 --- a/fsvar.h +++ b/fsvar.h @@ -4,7 +4,7 @@ struct inode { uint dev; // Device number uint inum; // Inode number int ref; // Reference count - int busy; // Is the inode "locked"? + int flags; // I_BUSY, I_VALID short type; // copy of disk inode short major; @@ -16,6 +16,5 @@ struct inode { #define ROOTDEV 1 // Device number of root file system -#define NAMEI_LOOKUP 1 -#define NAMEI_CREATE 2 -#define NAMEI_DELETE 3 +#define I_BUSY 0x1 +#define I_VALID 0x2 -- cgit v1.2.3