bufobj
struct bufobj *im_bo;
vm_object_t bufobj;
if (mmap->bufobj != NULL)
vm_object_deallocate(mmap->bufobj);
mmap->bufobj = vm_pager_allocate(OBJT_PHYS, 0, size, nprot, 0,
VM_OBJECT_WLOCK(mmap->bufobj);
vm_object_reference_locked(mmap->bufobj); // kernel and userland both
m[n] = vm_page_grab(mmap->bufobj, n,
VM_OBJECT_WUNLOCK(mmap->bufobj);
*object = mmap->bufobj;
vm_object_t bufobj;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *im_bo;
struct bufobj *bo;
struct bufobj *um_bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj **bo = ap->a_bop;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *pm_bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *im_bo;
struct bufobj *bo;
struct bufobj *bo;
g_vfs_strategy(struct bufobj *bo, struct buf *bp)
struct bufobj *bo;
struct bufobj *sc_bo;
struct bufobj;
void g_vfs_strategy(struct bufobj *bo, struct buf *bp);
vm_object_t bufobj; /* (o) */
vm_object_reference(info->bufobj);
*object = info->bufobj;
info->bufobj = vm_pager_allocate(OBJT_PHYS, 0, info->bufsize,
VM_OBJECT_WLOCK(info->bufobj);
m = vm_page_grab(info->bufobj, n,
VM_OBJECT_WUNLOCK(info->bufobj);
if (info->bufobj != NULL) {
vm_page_iter_limit_init(&pages, info->bufobj,
VM_OBJECT_WLOCK(info->bufobj);
VM_OBJECT_WUNLOCK(info->bufobj);
vm_object_deallocate(info->bufobj);
bufbdflush(struct bufobj *bo, struct buf *bp)
struct bufobj *bo;
struct bufobj *bo;
incore(struct bufobj *bo, daddr_t blkno)
struct bufobj *bo;
struct bufobj *dropobj;
bufsync(struct bufobj *bo, int waitfor)
bufstrategy(struct bufobj *bo, struct buf *bp)
bufobj_init(struct bufobj *bo, void *private)
bufobj_wrefl(struct bufobj *bo)
bufobj_wref(struct bufobj *bo)
bufobj_wdrop(struct bufobj *bo)
bufobj_wwait(struct bufobj *bo, int slpflag, int timeo)
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
static int flushbuflist(struct bufv *bufv, int flags, struct bufobj *bo,
static int v_inval_buf_range_locked(struct vnode *vp, struct bufobj *bo,
struct bufobj *bo;
bufobj_invalbuf(struct bufobj *bo, int flags, int slpflag, int slptimeo)
flushbuflist(struct bufv *bufv, int flags, struct bufobj *bo, int slpflag,
bnoreuselist(struct bufv *bufv, struct bufobj *bo, daddr_t startn, daddr_t endn)
struct bufobj *bo;
struct bufobj *bo;
v_inval_buf_range_locked(struct vnode *vp, struct bufobj *bo,
buf_vlist_find_or_add(struct buf *bp, struct bufobj *bo, b_xflags_t xflags)
LIST_HEAD(synclist, bufobj);
buf_vlist_add(struct buf *bp, struct bufobj *bo, b_xflags_t xflags)
gbincore(struct bufobj *bo, daddr_t lblkno)
gbincore_unlocked(struct bufobj *bo, daddr_t lblkno)
struct bufobj *bo;
struct bufobj *bo;
vn_syncer_add_to_worklist(struct bufobj *bo, int delay)
sync_vnode(struct synclist *slp, struct bufobj **bo, struct thread *td)
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj;
void bufstrategy(struct bufobj *, struct buf *);
struct buf *incore(struct bufobj *, daddr_t);
struct buf *gbincore(struct bufobj *, daddr_t);
struct buf *gbincore_unlocked(struct bufobj *, daddr_t);
void pbgetbo(struct bufobj *bo, struct buf *bp);
struct bufobj *b_bufobj;
LIST_ENTRY(bufobj) bo_synclist; /* S dirty vnode list */
void bufobj_init(struct bufobj *bo, void *priv);
void bufobj_wdrop(struct bufobj *bo);
void bufobj_wref(struct bufobj *bo);
void bufobj_wrefl(struct bufobj *bo);
int bufobj_invalbuf(struct bufobj *bo, int flags, int slpflag, int slptimeo);
int bufobj_wwait(struct bufobj *bo, int slpflag, int timeo);
int bufsync(struct bufobj *bo, int waitfor);
void bufbdflush(struct bufobj *bo, struct buf *bp);
struct bufobj;
typedef void b_strategy_t(struct bufobj *, struct buf *);
typedef int b_sync_t(struct bufobj *, int waitfor);
typedef void b_bdflush_t(struct bufobj *, struct buf *);
struct bufobj v_bufobj; /* * Buffer cache object */
int bnoreuselist(struct bufv *bufv, struct bufobj *bo, daddr_t startn,
void ffs_bdflush(struct bufobj *, struct buf *);
struct bufobj *bo __diagused;
struct bufobj *bo;
ffs_bdflush(struct bufobj *bo, struct buf *bp)
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *bufobj;
bufobj = bp->b_bufobj;
BO_LOCK(bufobj);
BO_UNLOCK(bufobj);
BO_LOCK(bufobj);
BO_UNLOCK(bufobj);
ffs_geom_strategy(struct bufobj *bo, struct buf *bp)
struct bufobj *bo;
struct bufobj *bo;
struct bufobj *um_bo; /* (r) Buffer cache object */
pbgetbo(struct bufobj *bo, struct buf *bp)
struct bufobj *bo;
struct bufobj *bo;