1 2 3 4 5 6 7 8 9 10 11 12
struct buf { int valid; // has data been read from disk? uint dev; uint blockno; struct sleeplock lock; uint refcnt; struct buf *prev; // LRU cache list struct buf *next; struct buf *qnext; // disk queue uchar data[BSIZE]; };