fix iget() bug that allocated in-use inode[] entries

This commit is contained in:
rtm 2006-08-13 15:51:58 +00:00
parent 8abe2bcf15
commit 17e3cf15ba
7 changed files with 20 additions and 61 deletions

14
Notes
View file

@ -357,7 +357,6 @@ OH! recursive interrupts will use up any amount of cpu[].stack!
disk scheduling
mkdir
more than one directory content block
sh arguments
sh redirection
indirect blocks
@ -366,17 +365,10 @@ two bugs in unlink: don't just return if nlink > 0,
is there a create/create race for same file name?
resulting in two entries w/ same name in directory?
namei
return just inode
return offset in dir where found, w/ dir locked, for unlink
return dir locked, for mknod
is the offset alone useful? how do I read/write it?
test: one process unlinks a file while another links to it
test: simultaneous create of same file
test: one process opens a file while another deletes it
oy, mkfs wants dir size to be last written entry, but i
want it to be nblocks*512
maybe fix kernel code to handle former
wdir should use writei, to avoid special-case block allocation
also readi
is dir locked? probably