summaryrefslogtreecommitdiff
path: root/fs.c
AgeCommit message (Collapse)Author
2007-08-21remove namelen parameterrsc
2007-08-21Various cleanup:rsc
- 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].
2007-08-20checkpoint - simpler namei interfacersc
2007-08-20shuffle fs.c in bottom-up orderrsc
2007-08-10various cleanupsrsc
2007-08-10Make cp a magic symbol.rsc
2007-08-09The final curproc[cpu()] is now cprsc
2007-08-09Clearer nameirsc
2007-08-08move ialloc body up, avoiding double check for end of looprsc
2007-08-08panic like bgetrsc
2007-08-08iincref returns new refrsc
2007-08-08fix . .. unlink bugrsc
2006-09-08some comment changeskaashoek
2006-09-08++rsc
2006-09-08fix various commentsrsc
2006-09-07allow long names againrsc
2006-09-07clean namei search looprsc
2006-09-07commentsrsc
2006-09-07remove _ prefixesrsc
2006-09-06wrap long linesrsc
2006-09-06for vs whilersc
2006-09-06break single-line if statementsrsc
2006-09-06no /* */ commentsrsc
2006-09-06standardize various * conventionsrsc
2006-09-06spacing fixes: no tabs, 2-space indents (for rtm)rsc
2006-08-30complain if no disk 1rtm
lots of cleanup
2006-08-29clear killed flag in exitrtm
idecref cwd in exit
2006-08-26consistently ignore more than 14 chars in path componentrtm
forbid create or write of existing directory mkdir("d1/d2/d3"), .. should refer to d2, not cwd mkdir increase parent link count
2006-08-25inode addrs[NDIRECT] -> NADDRSrtm
fix race in mknod / creat use last component in dirent in mknod, not path
2006-08-24big directory testrtm
2006-08-24fix bugs in indirect-file codekaashoek
clean up test program
2006-08-24user-level malloc (untested)kaashoek
nit in sbrk indirect block fix dup to share fd struct
2006-08-19chdirkaashoek
cd in shell nits in mkdir, ls, etc.
2006-08-15commented out code for cwdkaashoek
2006-08-14set size for directories correctly in wdir and mkfskaashoek
mkdir ls shows stat info for each dir entry
2006-08-13wdir now uses readi/writeirtm
2006-08-13fix iget() bug that allocated in-use inode[] entriesrtm
2006-08-13namei returns locked parent dir inode for create / unlinkrtm
don't hold fd table lock across idecref() (latter does block i/o) idecref calls iput() in case last ref -> freeing inode dir size is 512 * # blocks, so readi/writei &c work unlink deletes dirent even if ip->nlink > 0
2006-08-13zero freed blockskaashoek
multi-block directories track size of directory (size = number entries in use) should namei (and other code that scans through directories) scan through all blocks of a directory and not use size?
2006-08-13link()rtm
2006-08-12zero out all of dirent.name when creatingrtm
don't increase length of directory
2006-08-12LRU disk cache replacementrtm
2006-08-12free inode only when noone is holding a pointer to it. should fix open-unlink-kaashoek
read problem, but untested
2006-08-12mknod set nlink = 1rtm
usertests for concurrent create/delete, and read() after unlink()
2006-08-12fstatkaashoek
primitive ls
2006-08-12unlink,mknod,create with multi-component pathnames should work nowkaashoek
remove console init code from userfs
2006-08-11fix deadlock---iput(dp) asapkaashoek
working unlink, but doesn't free dir blocks that become empty remove out-of-date comment in ioapic
2006-08-11init creates console, opens 0/1/2, runs shrtm
sh accepts 0-argument commands (like userfs) reads from console
2006-08-10interrupts could be recursive since lapic_eoi() called before rtirtm
so fast interrupts overflow the kernel stack fix: cli() before lapic_eoi()
2006-08-10low-level keyboard input (not hooked up to /dev yet)rtm
fix acquire() to cli() *before* incrementing nlock make T_SYSCALL a trap gate, not an interrupt gate sadly, various crashes if you hold down a keyboard key...