Lines Matching refs:buf
74 * buf.b_sem: protects all remaining members in the buf struct
75 * buf.b_io: I/O synchronization variable
80 typedef struct buf {
82 struct buf *b_forw; /* headed by d_tab of conf.c */
83 struct buf *b_back; /* " */
84 struct buf *av_forw; /* position on free list, */
85 struct buf *av_back; /* if not BUSY */
116 int (*b_iodone)(struct buf *); /* function called by iodone */
118 struct buf *b_chain; /* chain together all buffers here */
123 ksema_t b_sem; /* Exclusive access to buf */
125 struct buf *b_list; /* List of potential B_DELWRI bufs */
139 struct buf *b_forw, *b_back; /* queue of unit queues */
140 struct buf *av_forw, *av_back; /* queue of bufs for this unit */
152 kstat_named_t bio_bufwant; /* kmem_allocs NOSLEEP failed new buf */
153 kstat_named_t bio_bufwait; /* kmem_allocs with KM_SLEEP for buf */
174 #define B_DELWRI 0x000800 /* delayed write-wait til buf needed */
186 #define B_STARTED 0x2000000 /* io:::start probe called for buf */
248 * as the ones in buf structure.
253 struct buf *b_forw; /* hash list forw pointer */
254 struct buf *b_back; /* hash list back pointer */
256 struct buf *av_forw; /* free list forw pointer */
257 struct buf *av_back; /* free list back pointer */
265 * The delayed list pointer entries should match with the buf strcuture.
270 struct buf *b_forw; /* not used */
271 struct buf *b_back; /* not used */
273 struct buf *av_forw; /* delayed write forw pointer */
274 struct buf *av_back; /* delayed write back pointer */
344 extern struct buf *buf; /* The buffer pool itself */
345 extern struct buf bfreelist; /* head of available list */
350 int bcheck(dev_t, struct buf *);
351 int iowait(struct buf *);
354 int biowait(struct buf *);
355 int biomodified(struct buf *);
356 int geterror(struct buf *);
357 void minphys(struct buf *);
362 void bwrite_common(void *ufsvfsp, struct buf *, int force_wait,
364 void bwrite(struct buf *);
365 void bwrite2(struct buf *);
366 void bdwrite(struct buf *);
367 void bawrite(struct buf *);
368 void brelse(struct buf *);
369 void iodone(struct buf *);
370 void clrbuf(struct buf *);
376 void biodone(struct buf *);
377 void bioinit(struct buf *);
378 void biofini(struct buf *);
379 void bp_mapin(struct buf *);
380 void *bp_mapin_common(struct buf *, int);
381 void bp_mapout(struct buf *);
382 int bp_copyin(struct buf *, void *, offset_t, size_t);
383 int bp_copyout(void *, struct buf *, offset_t, size_t);
385 int bp_color(struct buf *);
386 void pageio_done(struct buf *);
387 struct buf *bread(dev_t, daddr_t, long);
388 struct buf *bread_common(void *, dev_t, daddr_t, long);
389 struct buf *breada(dev_t, daddr_t, daddr_t, long);
390 struct buf *getblk(dev_t, daddr_t, long);
391 struct buf *getblk_common(void *, dev_t, daddr_t, long, int);
392 struct buf *ngeteblk(long);
393 struct buf *geteblk(void);
394 struct buf *pageio_setup(struct page *, size_t, struct vnode *, int);
395 void bioerror(struct buf *bp, int error);
396 void bioreset(struct buf *bp);
397 struct buf *bioclone(struct buf *, off_t, size_t, dev_t, daddr_t,
398 int (*)(struct buf *), struct buf *, int);