xv6-cs450/buf.h
Frans Kaashoek 3a5fa7ed90 Introduce and use sleeplocks instead of BUSY flags
Remove I_BUSY, B_BUSY, and intrans defs and usages
One spinlock per buf to avoid ugly loop in bget
fix race in filewrite (don't update f->off after releasing lock)
2011-08-26 10:08:29 -04:00

15 lines
337 B
C

struct buf {
int flags;
uint dev;
uint sector;
struct spinlock lock;
struct sleeplock sleeplock;
struct buf *prev; // LRU cache list
struct buf *next;
struct buf *qnext; // disk queue
uchar data[512];
};
#define B_VALID 0x1 // buffer has been read from disk
#define B_DIRTY 0x2 // buffer needs to be written to disk