code:bread - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- 将指定设备指定块号的内容读入缓存池,并返回存放指定内容的缓存块管理结构的指针
- 传入两个参数dev,blkno
- dev:指定设备号
- blkno:指定块号
- 返回 读取的缓存块
4750
4751 /* Read in (if necessary) the block and
4752 * return a buffer pointer.
4753 */
4754 bread(dev, blkno)
4755 {
4756 register struct buf *rbp;
4757
4758 rbp = getblk(dev, blkno);
4759 if (rbp->b_flags&B_DONE)
4760 return(rbp);
4761 rbp->b_flags =| B_READ;
4762 rbp->b_wcount = -256;
4763 (*bdevsw[dev.d_major].d_strategy)(rbp);
4764 iowait(rbp);
4765 return(rbp);
4766 }
4767 /* -------------------------*/