111a9947fSrtm struct buf { 211a9947fSrtm int flags; 343572072Srtm uint dev; 4c24ac5d7SFrans Kaashoek uint blockno; 56670d3b5SFrans Kaashoek struct sleeplock lock; 6*2adb7c21SFrans Kaashoek uint refcnt; 7902b13f5Srtm struct buf *prev; // LRU cache list 8cd93074eSrtm struct buf *next; 9902b13f5Srtm struct buf *qnext; // disk queue 10c24ac5d7SFrans Kaashoek uchar data[BSIZE]; 1111a9947fSrtm }; 121ddfbbb1SFrans Kaashoek #define B_VALID 0x2 // buffer has been read from disk 131ddfbbb1SFrans Kaashoek #define B_DIRTY 0x4 // buffer needs to be written to disk 14d003d232Srsc 15