提交 6c34f97c 创建 作者: rsc's avatar rsc

tell what an inode is

上级 a505fd66
...@@ -98,7 +98,12 @@ bfree(int dev, uint b) ...@@ -98,7 +98,12 @@ bfree(int dev, uint b)
brelse(bp); brelse(bp);
} }
// Inodes // Inodes.
//
// An inode is a single, unnamed file in the file system.
// The inode disk structure holds metadata (the type, device numbers,
// and data size) along with a list of blocks where the associated
// data can be found.
// //
// The inodes are laid out sequentially on disk immediately after // The inodes are laid out sequentially on disk immediately after
// the superblock. The kernel keeps a cache of the in-use // the superblock. The kernel keeps a cache of the in-use
...@@ -110,9 +115,9 @@ bfree(int dev, uint b) ...@@ -110,9 +115,9 @@ bfree(int dev, uint b)
// When ip->ref falls to zero, the inode is no longer cached. // When ip->ref falls to zero, the inode is no longer cached.
// It is an error to use an inode without holding a reference to it. // It is an error to use an inode without holding a reference to it.
// //
// Inodes can be locked with I_BUSY (like bufs and B_BUSY).
// Processes are only allowed to read and write inode // Processes are only allowed to read and write inode
// metadata and contents when holding the inode's lock. // metadata and contents when holding the inode's lock,
// represented by the I_BUSY flag in the in-memory copy.
// Because inode locks are held during disk accesses, // Because inode locks are held during disk accesses,
// they are implemented using a flag rather than with // they are implemented using a flag rather than with
// spin locks. Callers are responsible for locking // spin locks. Callers are responsible for locking
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论