3a5fa7ed90
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)
14 lines
337 B
C
14 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
|
|
|