Coda Distributed File System
Macros | Functions | Variables
cvnode.cc File Reference
#include <sys/types.h>
#include <sys/time.h>
#include "coda_string.h"
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <lwp/lwp.h>
#include <lwp/lock.h>
#include <rvmlib.h>
#include <util.h>
#include <codadir.h>
#include <vice.h>
#include "cvnode.h"
#include "volume.h"
#include <recov_vollog.h>
#include "vutil.h"
#include "recov.h"
#include "index.h"
Include dependency graph for cvnode.cc:

Macros

#define VNODE_HASH_TABLE_SIZE   256
 
#define hashShift   3
 
#define hashMask   ((1 << hashShift) - 1)
 
#define VNODE_HASH(volumeptr, vnodenumber, unq)
 

Functions

void VAddToVolumeUpdateList (Error *ec, Volume *vp)
 
void VBumpVolumeUsage (Volume *vp)
 
int VolumeHashOffset ()
 
void VInitVnodes (VnodeClass vclass, int nVnodes)
 
int VAllocFid (Volume *vp, VnodeType type, ViceFidRange *range, int stride, int ix)
 
int VAllocFid (Volume *vp, VnodeType type, VnodeId vnode, Unique_t unique)
 
VnodeVAllocVnode (Error *ec, Volume *vp, VnodeType type, int stride, int ix)
 
VnodeVAllocVnode (Error *ec, Volume *vp, VnodeType type, VnodeId vnode, Unique_t unique)
 
VnodeVGetVnode (Error *ec, Volume *vp, VnodeId vnodeNumber, Unique_t unq, int locktype, int ignoreIncon, int ignoreBarren)
 
void VPutVnode (Error *ec, Vnode *vnp)
 
void VFlushVnode (Error *ec, Vnode *vnp)
 
void VN_VN2Fid (Vnode *vptr, Volume *volptr, ViceFid *fid)
 
void VN_VN2PFid (Vnode *vptr, Volume *volptr, ViceFid *fid)
 

Variables

struct VnodeClassInfo VnodeClassInfo_Array [nVNODECLASSES]
 
int large
 
int small
 

Macro Definition Documentation

◆ hashMask

#define hashMask   ((1 << hashShift) - 1)

◆ hashShift

#define hashShift   3

◆ VNODE_HASH

#define VNODE_HASH (   volumeptr,
  vnodenumber,
  unq 
)
Value:
((volumeptr->vnodeHashOffset + vnodenumber + unq) & \
#define VNODE_HASH_TABLE_SIZE
Definition: cvnode.cc:76

◆ VNODE_HASH_TABLE_SIZE

#define VNODE_HASH_TABLE_SIZE   256

Function Documentation

◆ VAddToVolumeUpdateList()

void VAddToVolumeUpdateList ( Error ec,
Volume vp 
)

◆ VAllocFid() [1/2]

int VAllocFid ( Volume vp,
VnodeType  type,
ViceFidRange *  range,
int  stride,
int  ix 
)

◆ VAllocFid() [2/2]

int VAllocFid ( Volume vp,
VnodeType  type,
VnodeId  vnode,
Unique_t  unique 
)

◆ VAllocVnode() [1/2]

Vnode * VAllocVnode ( Error ec,
Volume vp,
VnodeType  type,
int  stride,
int  ix 
)

◆ VAllocVnode() [2/2]

Vnode * VAllocVnode ( Error ec,
Volume vp,
VnodeType  type,
VnodeId  vnode,
Unique_t  unique 
)

◆ VBumpVolumeUsage()

void VBumpVolumeUsage ( Volume vp)

◆ VFlushVnode()

void VFlushVnode ( Error ec,
Vnode vnp 
)

◆ VGetVnode()

Vnode * VGetVnode ( Error ec,
Volume vp,
VnodeId  vnodeNumber,
Unique_t  unq,
int  locktype,
int  ignoreIncon,
int  ignoreBarren 
)

◆ VInitVnodes()

void VInitVnodes ( VnodeClass  vclass,
int  nVnodes 
)

◆ VN_VN2Fid()

void VN_VN2Fid ( Vnode vptr,
Volume volptr,
ViceFid *  fid 
)

◆ VN_VN2PFid()

void VN_VN2PFid ( Vnode vptr,
Volume volptr,
ViceFid *  fid 
)

◆ VolumeHashOffset()

int VolumeHashOffset ( )

◆ VPutVnode()

void VPutVnode ( Error ec,
Vnode vnp 
)

Variable Documentation

◆ large

int large
extern

◆ small

int small

◆ VnodeClassInfo_Array

struct VnodeClassInfo VnodeClassInfo_Array[nVNODECLASSES]