vnode.h File Reference

#include <posix/sys/types.h>
#include <posix/sys/uio.h>
#include <posix/sys/queue.h>
#include <support/errors.h>

Go to the source code of this file.

Classes

struct  BufferCacheEntryType
struct  indir
struct  vnode_ops
struct  VnodeType

Defines

#define B_AGE   0x00000001
#define B_ASYNC   0x00000004
#define B_BAD   0x00000008
#define B_BNO_VALID   0x40000000
#define B_BUSY   0x00000010
#define B_CACHE   0x00020000
#define B_CALL   0x00000040
#define B_DATA_512   0x02000000
#define B_DATASIZE   4096
#define B_DATASIZE_512   512
#define B_DEFER_READ   0x20000000
#define B_DELWRI   0x00000080
#define B_DIRTY   0x00000100
#define B_DONE   0x00000200
#define B_EINTR   0x00000400
#define B_ERROR   0x00000800
#define B_GATHERED   0x00001000
#define B_INVAL   0x00002000
#define B_LOCKED   0x00004000
#define B_NOCACHE   0x00008000
#define B_PAGE_LOCKED   0x80000000
#define B_PAGE_SHARED   0x08000000
#define B_PAGE_WRITE   0x10000000
#define B_PHYS   0x00040000
#define B_RAW   0x00080000
#define B_READ   0x00100000
#define B_SCANNED   0x00000020
#define B_TAPE   0x00200000
#define B_VFLUSH   0x04000000
#define B_WANTED   0x00800000
#define B_WRITE   0x01000000
#define BQ_AGE   2
#define BQ_LOCKED   0
#define BQ_LRU   1
#define BQ_SHARED   3
#define FSYNC_DATAONLY   0x0002
#define FSYNC_LAZY   0x0008
#define FSYNC_RECLAIM   0x0004
#define FSYNC_WAIT   0x0001
#define IO_ALTSEMANTICS   0x40
#define IO_APPEND   0x02
#define IO_DSYNC   0x20
#define IO_NDELAY   0x10
#define IO_NODELOCKED   0x08
#define IO_SYNC   (0x04|IO_DSYNC)
#define IO_UNIT   0x01
#define NUM_BQUEUES   4
#define REVOKEALL   0x0001
#define UPDATE_CLOSE   0x0004
#define UPDATE_DIROP   0x0002
#define UPDATE_WAIT   0x0001
#define v_data   v_union.data
#define v_inodeP   v_union.inodeP
#define VALIASED   0x0800
#define VBWAIT   0x0400
#define VDIROP   0x1000
#define VDIRTY   0x8000
#define VEXEC   00001
#define VEXECMAP   0x0010
#define VISTTY   0x0008
#define VLAYER   0x2000
#define VLOCKSWORK   0x0080
#define VONWORKLST   0x4000
#define VREAD   00004
#define VROOT   0x0001
#define VSYSTEM   0x0004
#define VTEXT   0x0002
#define VWRITE   00002
#define VXLOCK   0x0100
#define VXWANT   0x0200

Typedefs

typedef int32_t bno_t
typedef BufferCacheEntryType BufferCacheEntryType
typedef int32_t doff_t
typedef uint32_t inode_t
typedef int32_t lbno_t
typedef status_t op_allocate_vnode (struct VnodeType *parentVnodeP, struct VnodeType **resultVnodePP)
typedef status_t op_bufferallocate (struct VnodeType *vnodeP, off_t offset, int32_t size, uint32_t flags, BufferCacheEntryType **bufCachePP)
typedef status_t op_check_access (struct VnodeType *vnodeP, int mode, uint32_t callerUID)
typedef status_t op_close (struct VnodeType *vnodeP, void *cookie)
typedef status_t op_closedir (struct VnodeType *vnodeP, void *cookie)
typedef status_t op_create (struct VnodeType *parentVnodeP, struct VnodeType **resultVnodePP, struct componentname *cnp)
typedef status_t op_free_cookie (struct VnodeType *vnodeP, void *cookie)
typedef status_t op_fsync (struct VnodeType *vnodeP)
typedef status_t op_getbufferforoffset (struct VnodeType *vnodeP, off_t offset, BufferCacheEntryType **bufCachePP)
typedef status_t op_getphysicalblockaddr (struct VnodeType *vnodeP, lbno_t logicalBlockNum, bno_t *physicalBlockNumP, int *numP)
typedef status_t op_initialize (const char *devname, void *parms, size_t len)
typedef status_t op_ioctl (struct VnodeType *vnodeP, void *cookie, int cmd, void *buf, size_t len)
typedef status_t op_link (void *dir, const char *name, struct VnodeType *vnodeP)
typedef status_t op_lookup (struct VnodeType *dirVnodeP, struct VnodeType **resultVnodePP, struct componentname *cnp)
typedef status_t op_mkdir (struct VnodeType *parentDirVnodeP, struct VnodeType **newDirVnodePP, struct componentname *cnp)
typedef status_t op_mount (intnsid, const char *devname, ulong flags, void *parms, size_t len, void **data, inode_t *vnid)
typedef status_t op_open (struct VnodeType *vnodeP, int omode)
typedef status_t op_opendir (struct VnodeType *vnodeP, void **cookie)
typedef status_t op_read (struct VnodeType *vnodeP, off_t pos, uint8_t *buf, size_t *len)
typedef status_t op_read_attr (struct VnodeType *vnodeP, const char *name, int type, void *buf, size_t *len, off_t pos)
typedef status_t op_read_vnode (void *mount, inode_t vnid, char r, struct VnodeType **node)
typedef status_t op_readbuffers (struct VnodeType *vnode, size_t count, BufferCacheEntryType **bufCacheP)
typedef status_t op_readdir (struct VnodeType *vnodeP, void *cookie, long *num, struct DirEntry *buf, size_t bufsize)
typedef status_t op_readlink (struct VnodeType *vnodeP, char *buf, size_t *bufsize)
typedef status_t op_readv (struct VnodeType *vnodeP, void *cookie, off_t pos, const struct iovec *vec, size_t count, size_t *len)
typedef status_t op_reclaim (struct VnodeType *vnodeP)
typedef status_t op_remove_vnode (struct VnodeType *vnodeP, char r)
typedef status_t op_rename (struct VnodeType *oldDirVnodeP, struct VnodeType *oldVnodeP, struct componentname *oldcnp, struct VnodeType *newDirVnodeP, struct VnodeType *newVnodeP, struct componentname *newcnp)
typedef status_t op_rewinddir (struct VnodeType *vnodeP, void *cookie)
typedef status_t op_rfsstat (struct VnodeType *vnodeP, struct fs_info *)
typedef status_t op_rmdir (struct VnodeType *parentDirVnodeP, struct VnodeType *vnodeP, struct componentname *cnp)
typedef status_t op_rstat (struct VnodeType *vnodeP, struct stat *)
typedef status_t op_secure_vnode (struct VnodeType *vnodeP)
typedef status_t op_setflags (struct VnodeType *vnodeP, void *cookie, int flags)
typedef void op_suspend_vnode (struct VnodeType *vnodeP, void *cookie, uint pmcookietype)
typedef status_t op_symlink (void *dir, const char *name, const char *path)
typedef status_t op_sync (struct VnodeType *vnodeP)
typedef status_t op_truncate (struct VnodeType *vnodeP, off_t endOffset, uint32_t flags)
typedef status_t op_unlink (struct VnodeType *parentDirVnodeP, struct VnodeType *vnodeP, struct componentname *cnp)
typedef status_t op_unmount (struct VnodeType *vnodeP)
typedef status_t op_update (struct VnodeType *vnodeP, time_t accessTime, time_t modifyTime, int flags)
typedef void op_wake_vnode (struct VnodeType *vnodeP, void *cookie, uint pmcookietype)
typedef status_t op_wfsstat (struct VnodeType *vnodeP, struct fs_info *, long mask)
typedef status_t op_write (struct VnodeType *vnodeP, off_t pos, const uint8_t *buf, size_t *len)
typedef status_t op_write_attr (struct VnodeType *vnodeP, const char *name, int type, const void *buf, size_t *len, off_t pos)
typedef status_t op_write_vnode (struct VnodeType *vnodeP, char flags)
typedef status_t op_writebuffers (struct VnodeType *vnode, size_t count, BufferCacheEntryType **bufCacheP)
typedef status_t op_writev (struct VnodeType *vnodeP, void *cookie, off_t pos, const struct iovec *vec, size_t count, size_t *len)
typedef status_t op_wstat (struct VnodeType *vnodeP, struct stat *, long mask)
typedef uint16_t segno_t
typedef vnode_ops vnode_ops
typedef VnodeType VnodeType

Enumerations

enum  vtagtype {
  VT_NON, VT_UFS, VT_NFS, VT_MFS,
  VT_MSDOSFS, VT_LFS, VT_LOFS, VT_FDESC,
  VT_PORTAL, VT_NULL, VT_UMAP, VT_KERNFS,
  VT_PROCFS, VT_AFS, VT_ISOFS, VT_UNION,
  VT_ADOSFS, VT_EXT2FS, VT_CODA, VT_FILECORE,
  VT_NTFS, VT_VFS, VT_OVERLAY, VT_SMBFS,
  VT_PTYFS
}
enum  vtype {
  VNON, VREG, VDIR, VBLK,
  VCHR, VLNK, VSOCK, VFIFO,
  VBAD
}

Functions

 LIST_HEAD (BufferCacheList, BufferCacheEntryType)
__inline void VnodeIncrementReference (VnodeType *vnode)
__inline status_t VnodeInvokeOpAllocateVnode (VnodeType *parentVnodeP, VnodeType **resultVnodePP)
__inline status_t VnodeInvokeOpBufferAllocate (VnodeType *vnodeP, off_t offset, int32_t size, uint32_t flags, BufferCacheEntryType **bufCachePP)
__inline status_t VnodeInvokeOpCheckAccess (struct VnodeType *vnodeP, int mode, uint32_t callerID)
__inline status_t VnodeInvokeOpCreate (VnodeType *dirVnodeP, VnodeType **resultVnodePP, struct componentname *cnp)
__inline status_t VnodeInvokeOpGetBufferForOffset (VnodeType *dirVnodeP, off_t offset, BufferCacheEntryType **bufCachePP)
__inline status_t VnodeInvokeOpGetPhysicalBlockAddress (VnodeType *vnodeP, lbno_t logicalBlockNum, bno_t *physicalBlockNumP, int *numP)
__inline status_t VnodeInvokeOpLookup (VnodeType *dirVnodeP, VnodeType **resultVnodePP, struct componentname *cnp)
__inline status_t VnodeInvokeOpMakeDirectory (VnodeType *parentDirVnodeP, VnodeType **newDirVnodePP, struct componentname *cnp)
__inline status_t VnodeInvokeOpOpenVnode (VnodeType *vnodeP, int omode)
__inline status_t VnodeInvokeOpRead (VnodeType *vnodeP, off_t offset, uint8_t *dataP, size_t *numBytesP)
__inline status_t VnodeInvokeOpReadBuffers (VnodeType *vnode, size_t count, BufferCacheEntryType **bufCacheP)
__inline status_t VnodeInvokeOpReclaim (VnodeType *vnode)
__inline status_t VnodeInvokeOpRename (struct VnodeType *oldDirVnodeP, struct VnodeType *oldVnodeP, struct componentname *oldcnp, struct VnodeType *newDirVnodeP, struct VnodeType *newVnodeP, struct componentname *newcnp)
__inline status_t VnodeInvokeOpRmdir (struct VnodeType *parentDirVnodeP, VnodeType *vnodeP, struct componentname *cnp)
__inline status_t VnodeInvokeOpTruncate (VnodeType *vnodeP, off_t endOffset, uint32_t flags)
__inline status_t VnodeInvokeOpUnlink (struct VnodeType *parentDirVnodeP, VnodeType *vnodeP, struct componentname *cnp)
__inline status_t VnodeInvokeOpUpdate (struct VnodeType *vnodeP, time_t accessTime, time_t modifyTime, int flags)
__inline status_t VnodeInvokeOpWrite (VnodeType *vnodeP, off_t offset, const uint8_t *dataP, size_t *numBytesP)
__inline status_t VnodeInvokeOpWriteBuffers (VnodeType *vnode, size_t count, BufferCacheEntryType **bufCacheP)
__inline status_t VnodeInvokeOpWriteVnode (VnodeType *vnodeP, char flags)


Define Documentation

#define B_AGE   0x00000001
 

#define B_ASYNC   0x00000004
 

#define B_BAD   0x00000008
 

#define B_BNO_VALID   0x40000000
 

#define B_BUSY   0x00000010
 

#define B_CACHE   0x00020000
 

#define B_CALL   0x00000040
 

#define B_DATA_512   0x02000000
 

#define B_DATASIZE   4096
 

#define B_DATASIZE_512   512
 

#define B_DEFER_READ   0x20000000
 

#define B_DELWRI   0x00000080
 

#define B_DIRTY   0x00000100
 

#define B_DONE   0x00000200
 

#define B_EINTR   0x00000400
 

#define B_ERROR   0x00000800
 

#define B_GATHERED   0x00001000
 

#define B_INVAL   0x00002000
 

#define B_LOCKED   0x00004000
 

#define B_NOCACHE   0x00008000
 

#define B_PAGE_LOCKED   0x80000000
 

#define B_PAGE_SHARED   0x08000000
 

#define B_PAGE_WRITE   0x10000000
 

#define B_PHYS   0x00040000
 

#define B_RAW   0x00080000
 

#define B_READ   0x00100000
 

#define B_SCANNED   0x00000020
 

#define B_TAPE   0x00200000
 

#define B_VFLUSH   0x04000000
 

#define B_WANTED   0x00800000
 

#define B_WRITE   0x01000000
 

#define BQ_AGE   2
 

#define BQ_LOCKED   0
 

#define BQ_LRU   1
 

#define BQ_SHARED   3
 

#define FSYNC_DATAONLY   0x0002
 

#define FSYNC_LAZY   0x0008
 

#define FSYNC_RECLAIM   0x0004
 

#define FSYNC_WAIT   0x0001
 

#define IO_ALTSEMANTICS   0x40
 

#define IO_APPEND   0x02
 

#define IO_DSYNC   0x20
 

#define IO_NDELAY   0x10
 

#define IO_NODELOCKED   0x08
 

#define IO_SYNC   (0x04|IO_DSYNC)
 

#define IO_UNIT   0x01
 

#define NUM_BQUEUES   4
 

#define REVOKEALL   0x0001
 

#define UPDATE_CLOSE   0x0004
 

#define UPDATE_DIROP   0x0002
 

#define UPDATE_WAIT   0x0001
 

#define v_data   v_union.data
 

#define v_inodeP   v_union.inodeP
 

#define VALIASED   0x0800
 

#define VBWAIT   0x0400
 

#define VDIROP   0x1000
 

#define VDIRTY   0x8000
 

#define VEXEC   00001
 

#define VEXECMAP   0x0010
 

#define VISTTY   0x0008
 

#define VLAYER   0x2000
 

#define VLOCKSWORK   0x0080
 

#define VONWORKLST   0x4000
 

#define VREAD   00004
 

#define VROOT   0x0001
 

#define VSYSTEM   0x0004
 

#define VTEXT   0x0002
 

#define VWRITE   00002
 

#define VXLOCK   0x0100
 

#define VXWANT   0x0200
 


Typedef Documentation

typedef int32_t bno_t
 

typedef struct BufferCacheEntryType BufferCacheEntryType
 

typedef int32_t doff_t
 

typedef uint32_t inode_t
 

typedef int32_t lbno_t
 

typedef status_t op_allocate_vnode(struct VnodeType *parentVnodeP, struct VnodeType **resultVnodePP)
 

typedef status_t op_bufferallocate(struct VnodeType *vnodeP, off_t offset, int32_t size, uint32_t flags, BufferCacheEntryType **bufCachePP)
 

typedef status_t op_check_access(struct VnodeType *vnodeP, int mode, uint32_t callerUID)
 

typedef status_t op_close(struct VnodeType *vnodeP, void *cookie)
 

typedef status_t op_closedir(struct VnodeType *vnodeP, void *cookie)
 

typedef status_t op_create(struct VnodeType *parentVnodeP, struct VnodeType **resultVnodePP, struct componentname *cnp)
 

typedef status_t op_free_cookie(struct VnodeType *vnodeP, void *cookie)
 

typedef status_t op_fsync(struct VnodeType *vnodeP)
 

typedef status_t op_getbufferforoffset(struct VnodeType *vnodeP, off_t offset, BufferCacheEntryType **bufCachePP)
 

typedef status_t op_getphysicalblockaddr(struct VnodeType *vnodeP, lbno_t logicalBlockNum, bno_t *physicalBlockNumP, int *numP)
 

typedef status_t op_initialize(const char *devname, void *parms, size_t len)
 

typedef status_t op_ioctl(struct VnodeType *vnodeP, void *cookie, int cmd, void *buf, size_t len)
 

typedef status_t op_link(void *dir, const char *name, struct VnodeType *vnodeP)
 

typedef status_t op_lookup(struct VnodeType *dirVnodeP, struct VnodeType **resultVnodePP, struct componentname *cnp)
 

typedef status_t op_mkdir(struct VnodeType *parentDirVnodeP, struct VnodeType **newDirVnodePP, struct componentname *cnp)
 

typedef status_t op_mount(intnsid, const char *devname, ulong flags, void *parms, size_t len, void **data, inode_t *vnid)
 

typedef status_t op_open(struct VnodeType *vnodeP, int omode)
 

typedef status_t op_opendir(struct VnodeType *vnodeP, void **cookie)
 

typedef status_t op_read(struct VnodeType *vnodeP, off_t pos, uint8_t *buf, size_t *len)
 

typedef status_t op_read_attr(struct VnodeType *vnodeP, const char *name, int type, void *buf, size_t *len, off_t pos)
 

typedef status_t op_read_vnode(void *mount, inode_t vnid, char r, struct VnodeType **node)
 

typedef status_t op_readbuffers(struct VnodeType *vnode, size_t count, BufferCacheEntryType **bufCacheP)
 

typedef status_t op_readdir(struct VnodeType *vnodeP, void *cookie, long *num, struct DirEntry *buf, size_t bufsize)
 

typedef status_t op_readlink(struct VnodeType *vnodeP, char *buf, size_t *bufsize)
 

typedef status_t op_readv(struct VnodeType *vnodeP, void *cookie, off_t pos, const struct iovec *vec, size_t count, size_t *len)
 

typedef status_t op_reclaim(struct VnodeType *vnodeP)
 

typedef status_t op_remove_vnode(struct VnodeType *vnodeP, char r)
 

typedef status_t op_rename(struct VnodeType *oldDirVnodeP, struct VnodeType *oldVnodeP, struct componentname *oldcnp, struct VnodeType *newDirVnodeP, struct VnodeType *newVnodeP, struct componentname *newcnp)
 

typedef status_t op_rewinddir(struct VnodeType *vnodeP, void *cookie)
 

typedef status_t op_rfsstat(struct VnodeType *vnodeP, struct fs_info *)
 

typedef status_t op_rmdir(struct VnodeType *parentDirVnodeP, struct VnodeType *vnodeP, struct componentname *cnp)
 

typedef status_t op_rstat(struct VnodeType *vnodeP, struct stat *)
 

typedef status_t op_secure_vnode(struct VnodeType *vnodeP)
 

typedef status_t op_setflags(struct VnodeType *vnodeP, void *cookie, int flags)
 

typedef void op_suspend_vnode(struct VnodeType *vnodeP, void *cookie, uint pmcookietype)
 

typedef status_t op_symlink(void *dir, const char *name, const char *path)
 

typedef status_t op_sync(struct VnodeType *vnodeP)
 

typedef status_t op_truncate(struct VnodeType *vnodeP, off_t endOffset, uint32_t flags)
 

typedef status_t op_unlink(struct VnodeType *parentDirVnodeP, struct VnodeType *vnodeP, struct componentname *cnp)
 

typedef status_t op_unmount(struct VnodeType *vnodeP)
 

typedef status_t op_update(struct VnodeType *vnodeP, time_t accessTime, time_t modifyTime, int flags)
 

typedef void op_wake_vnode(struct VnodeType *vnodeP, void *cookie, uint pmcookietype)
 

typedef status_t op_wfsstat(struct VnodeType *vnodeP, struct fs_info *, long mask)
 

typedef status_t op_write(struct VnodeType *vnodeP, off_t pos, const uint8_t *buf, size_t *len)
 

typedef status_t op_write_attr(struct VnodeType *vnodeP, const char *name, int type, const void *buf, size_t *len, off_t pos)
 

typedef status_t op_write_vnode(struct VnodeType *vnodeP, char flags)
 

typedef status_t op_writebuffers(struct VnodeType *vnode, size_t count, BufferCacheEntryType **bufCacheP)
 

typedef status_t op_writev(struct VnodeType *vnodeP, void *cookie, off_t pos, const struct iovec *vec, size_t count, size_t *len)
 

typedef status_t op_wstat(struct VnodeType *vnodeP, struct stat *, long mask)
 

typedef uint16_t segno_t
 

typedef struct vnode_ops vnode_ops
 

typedef struct VnodeType VnodeType
 


Enumeration Type Documentation

enum vtagtype
 

Enumerator:
VT_NON 
VT_UFS 
VT_NFS 
VT_MFS 
VT_MSDOSFS 
VT_LFS 
VT_LOFS 
VT_FDESC 
VT_PORTAL 
VT_NULL 
VT_UMAP 
VT_KERNFS 
VT_PROCFS 
VT_AFS 
VT_ISOFS 
VT_UNION 
VT_ADOSFS 
VT_EXT2FS 
VT_CODA 
VT_FILECORE 
VT_NTFS 
VT_VFS 
VT_OVERLAY 
VT_SMBFS 
VT_PTYFS 

enum vtype
 

Enumerator:
VNON 
VREG 
VDIR 
VBLK 
VCHR 
VLNK 
VSOCK 
VFIFO 
VBAD 


Function Documentation

LIST_HEAD BufferCacheList  ,
BufferCacheEntryType 
 

__inline void VnodeIncrementReference VnodeType vnode  ) 
 

__inline status_t VnodeInvokeOpAllocateVnode VnodeType parentVnodeP,
VnodeType **  resultVnodePP
 

__inline status_t VnodeInvokeOpBufferAllocate VnodeType vnodeP,
off_t  offset,
int32_t  size,
uint32_t  flags,
BufferCacheEntryType **  bufCachePP
 

__inline status_t VnodeInvokeOpCheckAccess struct VnodeType vnodeP,
int  mode,
uint32_t  callerID
 

__inline status_t VnodeInvokeOpCreate VnodeType dirVnodeP,
VnodeType **  resultVnodePP,
struct componentname *  cnp
 

__inline status_t VnodeInvokeOpGetBufferForOffset VnodeType dirVnodeP,
off_t  offset,
BufferCacheEntryType **  bufCachePP
 

__inline status_t VnodeInvokeOpGetPhysicalBlockAddress VnodeType vnodeP,
lbno_t  logicalBlockNum,
bno_t physicalBlockNumP,
int *  numP
 

__inline status_t VnodeInvokeOpLookup VnodeType dirVnodeP,
VnodeType **  resultVnodePP,
struct componentname *  cnp
 

__inline status_t VnodeInvokeOpMakeDirectory VnodeType parentDirVnodeP,
VnodeType **  newDirVnodePP,
struct componentname *  cnp
 

__inline status_t VnodeInvokeOpOpenVnode VnodeType vnodeP,
int  omode
 

__inline status_t VnodeInvokeOpRead VnodeType vnodeP,
off_t  offset,
uint8_t *  dataP,
size_t *  numBytesP
 

__inline status_t VnodeInvokeOpReadBuffers VnodeType vnode,
size_t  count,
BufferCacheEntryType **  bufCacheP
 

__inline status_t VnodeInvokeOpReclaim VnodeType vnode  ) 
 

__inline status_t VnodeInvokeOpRename struct VnodeType oldDirVnodeP,
struct VnodeType oldVnodeP,
struct componentname *  oldcnp,
struct VnodeType newDirVnodeP,
struct VnodeType newVnodeP,
struct componentname *  newcnp
 

__inline status_t VnodeInvokeOpRmdir struct VnodeType parentDirVnodeP,
VnodeType vnodeP,
struct componentname *  cnp
 

__inline status_t VnodeInvokeOpTruncate VnodeType vnodeP,
off_t  endOffset,
uint32_t  flags
 

__inline status_t VnodeInvokeOpUnlink struct VnodeType parentDirVnodeP,
VnodeType vnodeP,
struct componentname *  cnp
 

__inline status_t VnodeInvokeOpUpdate struct VnodeType vnodeP,
time_t  accessTime,
time_t  modifyTime,
int  flags
 

__inline status_t VnodeInvokeOpWrite VnodeType vnodeP,
off_t  offset,
const uint8_t *  dataP,
size_t *  numBytesP
 

__inline status_t VnodeInvokeOpWriteBuffers VnodeType vnode,
size_t  count,
BufferCacheEntryType **  bufCacheP
 

__inline status_t VnodeInvokeOpWriteVnode VnodeType vnodeP,
char  flags