diff options
author | rsc <rsc> | 2007-08-22 06:20:10 +0000 |
---|---|---|
committer | rsc <rsc> | 2007-08-22 06:20:10 +0000 |
commit | f0721f1be4c017d7e8d9d79b249fa04dda14a9ec (patch) | |
tree | c34456032437c873c5bc7439665a4184cb2eabe1 | |
parent | eaea18cb9cbb86018dae8f1decfa217ecbe85fa5 (diff) | |
download | xv6-labs-f0721f1be4c017d7e8d9d79b249fa04dda14a9ec.tar.gz xv6-labs-f0721f1be4c017d7e8d9d79b249fa04dda14a9ec.tar.bz2 xv6-labs-f0721f1be4c017d7e8d9d79b249fa04dda14a9ec.zip |
tweaks
-rw-r--r-- | BUGS | 4 | ||||
-rw-r--r-- | fs.c | 40 | ||||
-rw-r--r-- | runoff.list | 2 |
3 files changed, 23 insertions, 23 deletions
@@ -12,3 +12,7 @@ formatting: file.c filewrite leaks onto next page need to fix PAGEBREAK mechanism +fs.c: grep XXX + +sysfile.c: why does mknod take a type argument? + @@ -524,11 +524,11 @@ dirlink(struct inode *dp, char *name, uint ino) { int off; struct dirent de; - struct uinode *ip; + struct uinode *ipu; // Check that name is not present. - if((ip = dirlookup(dp, name, 0)) != 0){ - iput(ip); + if((ipu = dirlookup(dp, name, 0)) != 0){ + iput(ipu); return -1; } @@ -593,43 +593,39 @@ skipelem(char *path, char *name) static struct uinode* _namei(char *path, int parent, char *name) { - struct uinode *dp, *ip; - struct inode *dpl; + struct uinode *dpu, *ipu; + struct inode *dp; uint off; if(*path == '/') - dp = iget(ROOTDEV, 1); + dpu = iget(ROOTDEV, 1); else - dp = idup(cp->cwd); + dpu = idup(cp->cwd); while((path = skipelem(path, name)) != 0){ - dpl = ilock(dp); - if(dpl->type != T_DIR){ - iunlock(dpl); - iput(dp); + dp = ilock(dpu); + if(dp->type != T_DIR){ + iput(iunlock(dp)); return 0; } if(parent && *path == '\0'){ // Stop one level early. - iunlock(dpl); - return dp; + iunlock(dp); + return dpu; } - if((ip = dirlookup(dpl, name, &off)) == 0){ - iunlock(dpl); - iput(dp); - iput(ip); + if((ipu = dirlookup(dp, name, &off)) == 0){ + iput(iunlock(dp)); + iput(ipu); return 0; } - - iunlock(dpl); - iput(dp); - dp = ip; + iput(iunlock(dp)); + dpu = ipu; } if(parent) return 0; - return dp; + return dpu; } struct uinode* diff --git a/runoff.list b/runoff.list index 5aa1d96..7abd23a 100644 --- a/runoff.list +++ b/runoff.list @@ -46,9 +46,9 @@ fsvar.h ide.c bio.c fs.c -exec.c file.c sysfile.c +exec.c # pipes pipe.c |