2006-07-21 13:18:04 +00:00
|
|
|
struct buf {
|
|
|
|
int flags;
|
2006-08-12 11:38:57 +00:00
|
|
|
uint dev;
|
2015-04-03 12:22:02 +00:00
|
|
|
uint blockno;
|
2016-09-11 21:24:04 +00:00
|
|
|
struct sleeplock lock;
|
2016-09-12 00:17:22 +00:00
|
|
|
uint refcnt;
|
2007-08-24 19:32:36 +00:00
|
|
|
struct buf *prev; // LRU cache list
|
2006-08-12 22:34:13 +00:00
|
|
|
struct buf *next;
|
2007-08-24 19:32:36 +00:00
|
|
|
struct buf *qnext; // disk queue
|
2015-04-03 12:22:02 +00:00
|
|
|
uchar data[BSIZE];
|
2006-07-21 13:18:04 +00:00
|
|
|
};
|
2011-08-29 21:18:40 +00:00
|
|
|
#define B_VALID 0x2 // buffer has been read from disk
|
|
|
|
#define B_DIRTY 0x4 // buffer needs to be written to disk
|
2007-08-27 14:09:30 +00:00
|
|
|
|