buf.h 326 bytes
#ifndef _BUF_H
#define _BUF_H
#include "sleeplock.h"
#include "fs.h"
struct buf {
  int valid;   // has data been read from disk?
  int disk;    // does disk "own" buf?
  uint dev;
  uint blockno;
  struct sleeplock lock;
  uint refcnt;
  struct buf *prev; // LRU cache list
  struct buf *next;
  uchar data[BSIZE];
#endif