211ff0c67e
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
20 lines
285 B
C
20 lines
285 B
C
// in-core file system types
|
|
|
|
struct inode {
|
|
uint dev;
|
|
uint inum;
|
|
int count;
|
|
int busy;
|
|
short type;
|
|
short major;
|
|
short minor;
|
|
short nlink;
|
|
uint size;
|
|
uint addrs[NDIRECT];
|
|
};
|
|
|
|
extern uint rootdev;
|
|
|
|
#define NAMEI_LOOKUP 1
|
|
#define NAMEI_CREATE 2
|
|
#define NAMEI_DELETE 3
|