| 1 | struct buf { |
|---|---|
| 2 | int flags; |
| 3 | uint dev; |
| 4 | uint blockno; |
| 5 | struct sleeplock lock; |
| 6 | uint refcnt; |
| 7 | struct buf *prev; // LRU cache list |
| 8 | struct buf *next; |
| 9 | struct buf *qnext; // disk queue |
| 10 | uchar data[BSIZE]; |
| 11 | }; |
| 12 | #define B_VALID 0x2 // buffer has been read from disk |
| 13 | #define B_DIRTY 0x4 // buffer needs to be written to disk |
| 14 | |
| 15 |