mfsp
struct mfsnode *mfsp;
mfsp = kmem_alloc(sizeof(*mfsp), KM_SLEEP);
rootvp->v_data = mfsp;
mfsp->mfs_baseoff = mfs_rootbase;
mfsp->mfs_size = mfs_rootsize;
mfsp->mfs_vnode = rootvp;
mfsp->mfs_proc = NULL; /* indicate kernel space */
mfsp->mfs_shutdown = 0;
cv_init(&mfsp->mfs_cv, "mfs");
mfsp->mfs_refcnt = 1;
bufq_alloc(&mfsp->mfs_buflist, "fcfs", 0);
bufq_free(mfsp->mfs_buflist);
kmem_free(mfsp, sizeof(*mfsp));
struct mfsnode *mfsp;
mfsp = VTOMFS(vp);
if (mfsp == NULL)
args->base = mfsp->mfs_baseoff;
args->size = mfsp->mfs_size;
mfsp = kmem_alloc(sizeof(*mfsp), KM_SLEEP);
devvp->v_data = mfsp;
mfsp->mfs_baseoff = args->base;
mfsp->mfs_size = args->size;
mfsp->mfs_vnode = devvp;
mfsp->mfs_proc = p;
mfsp->mfs_shutdown = 0;
cv_init(&mfsp->mfs_cv, "mfsidl");
mfsp->mfs_refcnt = 1;
bufq_alloc(&mfsp->mfs_buflist, "fcfs", 0);
mfsp->mfs_shutdown = 1;
struct mfsnode *mfsp;
mfsp = VTOMFS(vp);
mfsp->mfs_refcnt++;
base = mfsp->mfs_baseoff;
while (mfsp->mfs_shutdown != 1) {
while ((bp = bufq_get(mfsp->mfs_buflist)) != NULL) {
sleepreturn = cv_wait_sig(&mfsp->mfs_cv, &mfs_lock);
KASSERT(bufq_peek(mfsp->mfs_buflist) == NULL);
refcnt = --mfsp->mfs_refcnt;
bufq_free(mfsp->mfs_buflist);
cv_destroy(&mfsp->mfs_cv);
kmem_free(mfsp, sizeof(*mfsp));
struct mfsnode *mfsp;
mfsp = VTOMFS(vp);
if (mfsp->mfs_proc == NULL) {
base = (char *)mfsp->mfs_baseoff + (bp->b_blkno << DEV_BSHIFT);
} else if (mfsp->mfs_proc == curproc) {
mfs_doio(bp, mfsp->mfs_baseoff);
bufq_put(mfsp->mfs_buflist, bp);
cv_broadcast(&mfsp->mfs_cv);
struct mfsnode *mfsp = VTOMFS(vp);
while ((bp = bufq_get(mfsp->mfs_buflist)) != NULL) {
mfs_doio(bp, mfsp->mfs_baseoff);
if (bufq_peek(mfsp->mfs_buflist) != NULL)
mfsp->mfs_shutdown = 1;
cv_broadcast(&mfsp->mfs_cv);
struct mfsnode *mfsp = VTOMFS(vp);
if (bufq_peek(mfsp->mfs_buflist) != NULL)
bufq_peek(mfsp->mfs_buflist));
struct mfsnode *mfsp = VTOMFS(vp);
refcnt = --mfsp->mfs_refcnt;
bufq_free(mfsp->mfs_buflist);
cv_destroy(&mfsp->mfs_cv);
kmem_free(mfsp, sizeof(*mfsp));
struct mfsnode *mfsp = VTOMFS(ap->a_vp);
(mfsp->mfs_proc != NULL) ? mfsp->mfs_proc->p_pid : 0,
mfsp->mfs_baseoff, mfsp->mfs_size);
#define MFSTOV(mfsp) ((mfsp)->mfs_vnode)