Coda Distributed File System
Macros | Enumerations | Functions | Variables
srvproc.cc File Reference
#include <sys/types.h>
#include <sys/time.h>
#include <signal.h>
#include "coda_string.h"
#include <inodeops.h>
#include <unistd.h>
#include <stdlib.h>
#include <util.h>
#include <rvmlib.h>
#include <partition.h>
#include <codadir.h>
#include <prs.h>
#include <al.h>
#include <callback.h>
#include <vice.h>
#include <cml.h>
#include <lka.h>
#include <copyfile.h>
#include <volume.h>
#include <srv.h>
#include <vmindex.h>
#include <voltypes.h>
#include <vicelock.h>
#include <vlist.h>
#include <vrdb.h>
#include <repio.h>
#include <operations.h>
#include <lockqueue.h>
#include <resutil.h>
#include <ops.h>
#include <rsle.h>
#include <nettohost.h>
#include <cvnode.h>
#include "coppend.h"
Include dependency graph for srvproc.cc:

Macros

#define O_BINARY   0
 
#define OWNERREAD   0400
 
#define OWNERWRITE   0200
 
#define ANYREAD   0004
 
#define ANYWRITE   0002
 

Enumerations

enum  CLMS_Op { CLMS_Create , CLMS_Link , CLMS_MakeDir , CLMS_SymLink }
 

Functions

void VCheckDiskUsage (Error *, Volume *, int)
 
void MakeLogNonEmpty (Vnode *)
 
void GetMaxVV (ViceVersionVector *, ViceVersionVector **, int)
 
int CheckReadMode (ClientEntry *, Vnode *)
 
int CheckWriteMode (ClientEntry *, Vnode *)
 
int AdjustDiskUsage (Volume *, int)
 
int CheckDiskUsage (Volume *, int)
 
void HandleWeakEquality (Volume *, Vnode *, ViceVersionVector *)
 
void PollAndYield ()
 
long FS_ViceFetch (RPC2_Handle RPCid, ViceFid *Fid, ViceVersionVector *VV, RPC2_Unsigned InconOK, ViceStatus *Status, RPC2_Unsigned PrimaryHost, RPC2_Unsigned Offset, RPC2_CountedBS *PiggyBS, SE_Descriptor *BD)
 
long FS_ViceFetchPartial (RPC2_Handle RPCid, ViceFid *Fid, ViceVersionVector *VV, RPC2_Unsigned InconOK, ViceStatus *Status, RPC2_Unsigned PrimaryHost, RPC2_Unsigned Offset, RPC2_Unsigned Count, RPC2_CountedBS *PiggyBS, SE_Descriptor *BD) EXCLUDES_TRANSACTION
 
long FS_ViceGetAttr (RPC2_Handle RPCid, ViceFid *Fid, RPC2_Unsigned InconOK, ViceStatus *Status, RPC2_Unsigned Unused, RPC2_CountedBS *PiggyBS)
 
long FS_ViceGetAttrPlusSHA (RPC2_Handle RPCid, ViceFid *Fid, RPC2_Unsigned InconOK, ViceStatus *Status, RPC2_BoundedBS *MySHA, RPC2_Unsigned Unused, RPC2_CountedBS *PiggyBS) EXCLUDES_TRANSACTION
 
long FS_ViceValidateAttrs (RPC2_Handle RPCid, RPC2_Unsigned Unused, ViceFid *PrimaryFid, ViceStatus *Status, RPC2_Unsigned NumPiggyFids, ViceFidAndVV Piggies[], RPC2_BoundedBS *VFlagBS, RPC2_CountedBS *PiggyBS)
 
long FS_ViceValidateAttrsPlusSHA (RPC2_Handle RPCid, RPC2_Unsigned Unused, ViceFid *PrimaryFid, ViceStatus *Status, RPC2_BoundedBS *MySHA, RPC2_Unsigned NumPiggyFids, ViceFidAndVV Piggies[], RPC2_BoundedBS *VFlagBS, RPC2_CountedBS *PiggyBS) EXCLUDES_TRANSACTION
 
long FS_ViceGetACL (RPC2_Handle RPCid, ViceFid *Fid, RPC2_Unsigned InconOK, RPC2_BoundedBS *AccessList, ViceStatus *Status, RPC2_Unsigned Unused, RPC2_CountedBS *PiggyBS) EXCLUDES_TRANSACTION
 
long FS_ViceSetACL (RPC2_Handle RPCid, ViceFid *Fid, RPC2_CountedBS *AccessList, ViceStatus *Status, RPC2_Unsigned Unused, ViceStoreId *StoreId, RPC2_CountedBS *OldVS, RPC2_Integer *NewVS, CallBackStatus *VCBStatus, RPC2_CountedBS *PiggyBS) EXCLUDES_TRANSACTION
 
void SetStatus (struct Vnode *vptr, ViceStatus *status, Rights rights, Rights anyrights)
 
int GetRights (PRS_InternalCPS *CPS, AL_AccessList *ACL, int ACLSize, Rights *rights, Rights *anyrights)
 
int GetFsObj (ViceFid *fid, Volume **volptr, Vnode **vptr, int lock, int VolumeLock, int ignoreIncon, int ignoreBQ, int getdirhandle)
 
int SystemUser (ClientEntry *client)
 
void ChangeDiskUsage (Volume *volptr, int length)
 
int ValidateParms (RPC2_Handle RPCid, ClientEntry **client, int *voltype, VolumeId *Vidp, RPC2_CountedBS *PiggyBS, int *Nservers)
 
int AllocVnode (Vnode **vptr, Volume *volptr, ViceDataType vtype, ViceFid *Fid, ViceFid *pFid, UserId ClientId, int *blocks)
 
int CheckFetchSemantics (ClientEntry *client, Vnode **avptr, Vnode **vptr, Volume **volptr, Rights *rights, Rights *anyrights)
 
int CheckGetAttrSemantics (ClientEntry *client, Vnode **avptr, Vnode **vptr, Volume **volptr, Rights *rights, Rights *anyrights)
 
int CheckGetACLSemantics (ClientEntry *client, Vnode **vptr, Volume **volptr, Rights *rights, Rights *anyrights, RPC2_BoundedBS *AccessList, RPC2_String *eACL)
 
int CheckStoreSemantics (ClientEntry *client, Vnode **avptr, Vnode **vptr, Volume **volptr, int ReplicatedOp, VCP VCmpProc, ViceVersionVector *VV, FileVersion DataVersion, Rights *rights, Rights *anyrights)
 
int CheckSetAttrSemantics (ClientEntry *client, Vnode **avptr, Vnode **vptr, Volume **volptr, int ReplicatedOp, VCP VCmpProc, RPC2_Integer Length, Date_t Mtime, UserId Owner, RPC2_Unsigned Mode, RPC2_Integer Mask, ViceVersionVector *VV, FileVersion DataVersion, Rights *rights, Rights *anyrights)
 
int CheckSetACLSemantics (ClientEntry *client, Vnode **vptr, Volume **volptr, int ReplicatedOp, VCP VCmpProc, ViceVersionVector *VV, FileVersion DataVersion, Rights *rights, Rights *anyrights, RPC2_CountedBS *AccessList, AL_AccessList **newACL)
 
int CheckCreateSemantics (ClientEntry *client, Vnode **dirvptr, Vnode **vptr, char *Name, Volume **volptr, int ReplicatedOp, VCP VCmpProc, void *dirVersion, void *Version, Rights *rights, Rights *anyrights, int MakeProtChecks)
 
int CheckRemoveSemantics (ClientEntry *client, Vnode **dirvptr, Vnode **vptr, char *Name, Volume **volptr, int ReplicatedOp, VCP VCmpProc, void *dirVersion, void *Version, Rights *rights, Rights *anyrights, int MakeProtChecks)
 
int CheckLinkSemantics (ClientEntry *client, Vnode **dirvptr, Vnode **vptr, char *Name, Volume **volptr, int ReplicatedOp, VCP VCmpProc, void *dirVersion, void *Version, Rights *rights, Rights *anyrights, int MakeProtChecks)
 
int CheckRenameSemantics (ClientEntry *client, Vnode **s_dirvptr, Vnode **t_dirvptr, Vnode **s_vptr, char *OldName, Vnode **t_vptr, char *NewName, Volume **volptr, int ReplicatedOp, VCP VCmpProc, void *s_dirVersion, void *t_dirVersion, void *s_Version, void *t_Version, Rights *sd_rights, Rights *sd_anyrights, Rights *td_rights, Rights *td_anyrights, Rights *s_rights, Rights *s_anyrights, int MakeProtChecks, int IgnoreTargetNonEmpty, dlist *vlist)
 
int CheckMkdirSemantics (ClientEntry *client, Vnode **dirvptr, Vnode **vptr, char *Name, Volume **volptr, int ReplicatedOp, VCP VCmpProc, void *dirVersion, void *Version, Rights *rights, Rights *anyrights, int MakeProtChecks)
 
int CheckRmdirSemantics (ClientEntry *client, Vnode **dirvptr, Vnode **vptr, char *Name, Volume **volptr, int ReplicatedOp, VCP VCmpProc, void *dirVersion, void *Version, Rights *rights, Rights *anyrights, int MakeProtChecks)
 
int CheckSymlinkSemantics (ClientEntry *client, Vnode **dirvptr, Vnode **vptr, char *Name, Volume **volptr, int ReplicatedOp, VCP VCmpProc, void *dirVersion, void *Version, Rights *rights, Rights *anyrights, int MakeProtChecks)
 
void PerformFetch (ClientEntry *client, Volume *volptr, Vnode *vptr)
 
int FetchBulkTransfer (RPC2_Handle RPCid, ClientEntry *client, Volume *volptr, Vnode *vptr, RPC2_Unsigned Offset, RPC2_Integer Count, ViceVersionVector *VV)
 
int FetchFileByName (RPC2_Handle RPCid, char *name, ClientEntry *client)
 
int FetchFileByFD (RPC2_Handle RPCid, int fd, ClientEntry *client)
 
void PerformGetAttr (ClientEntry *client, Volume *volptr, Vnode *vptr)
 
void PerformGetACL (ClientEntry *client, Volume *volptr, Vnode *vptr, RPC2_BoundedBS *AccessList, RPC2_String eACL)
 
void PerformStore (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *vptr, Inode newinode, int ReplicatedOp, RPC2_Integer Length, Date_t Mtime, ViceStoreId *StoreId, RPC2_Integer *vsptr)
 
int StoreBulkTransfer (RPC2_Handle RPCid, ClientEntry *client, Volume *volptr, Vnode *vptr, Inode newinode, RPC2_Integer Length)
 
void PerformSetAttr (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *vptr, int ReplicatedOp, RPC2_Integer Length, Date_t Mtime, UserId Owner, RPC2_Unsigned Mode, RPC2_Integer Mask, ViceStoreId *StoreId, Inode *CowInode, RPC2_Integer *vsptr)
 
void PerformSetACL (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *vptr, int voltype, ViceStoreId *StoreId, AL_AccessList *newACL, RPC2_Integer *vsptr)
 
int PerformCreate (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *dirvptr, Vnode *vptr, char *Name, Date_t Mtime, RPC2_Unsigned Mode, int ReplicatedOp, ViceStoreId *StoreId, PDirInode *CowInode, int *blocks, RPC2_Integer *vsptr)
 
void PerformRemove (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *dirvptr, Vnode *vptr, char *Name, Date_t Mtime, int ReplicatedOp, ViceStoreId *StoreId, PDirInode *CowInode, int *blocks, RPC2_Integer *vsptr)
 
int PerformLink (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *dirvptr, Vnode *vptr, char *Name, Date_t Mtime, int ReplicatedOp, ViceStoreId *StoreId, PDirInode *CowInode, int *blocks, RPC2_Integer *vsptr)
 
void PerformRename (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *sd_vptr, Vnode *td_vptr, Vnode *s_vptr, Vnode *t_vptr, char *OldName, char *NewName, Date_t Mtime, int ReplicatedOp, ViceStoreId *StoreId, PDirInode *sd_CowInode, PDirInode *td_CowInode, PDirInode *s_CowInode, int *nblocks, RPC2_Integer *vsptr)
 
int PerformMkdir (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *dirvptr, Vnode *vptr, char *Name, Date_t Mtime, RPC2_Unsigned Mode, int ReplicatedOp, ViceStoreId *StoreId, PDirInode *CowInode, int *blocks, RPC2_Integer *vsptr)
 
void PerformRmdir (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *dirvptr, Vnode *vptr, char *Name, Date_t Mtime, int ReplicatedOp, ViceStoreId *StoreId, PDirInode *CowInode, int *blocks, RPC2_Integer *vsptr)
 
int PerformSymlink (ClientEntry *client, VolumeId VSGVolnum, Volume *volptr, Vnode *dirvptr, Vnode *vptr, char *Name, Inode newinode, RPC2_Unsigned Length, Date_t Mtime, RPC2_Unsigned Mode, int ReplicatedOp, ViceStoreId *StoreId, PDirInode *CowInode, int *blocks, RPC2_Integer *vsptr)
 
void PutObjects (int errorCode, Volume *volptr, int LockLevel, dlist *vlist, int blocks, int TranFlag, int UpdateVolume)
 

Variables

const int Yield_PutObjects_Period = 8
 
const int Yield_PutObjects_Mask = Yield_PutObjects_Period - 1
 
const int Yield_PutInodes_Period = 16
 
const int Yield_PutInodes_Mask = (Yield_PutInodes_Period - 1)
 

Macro Definition Documentation

◆ ANYREAD

#define ANYREAD   0004

◆ ANYWRITE

#define ANYWRITE   0002

◆ O_BINARY

#define O_BINARY   0

◆ OWNERREAD

#define OWNERREAD   0400

◆ OWNERWRITE

#define OWNERWRITE   0200

Enumeration Type Documentation

◆ CLMS_Op

enum CLMS_Op
Enumerator
CLMS_Create 
CLMS_Link 
CLMS_MakeDir 
CLMS_SymLink 

Function Documentation

◆ AdjustDiskUsage()

int AdjustDiskUsage ( Volume volptr,
int  length 
)

◆ AllocVnode()

int AllocVnode ( Vnode **  vptr,
Volume volptr,
ViceDataType  vtype,
ViceFid *  Fid,
ViceFid *  pFid,
UserId  ClientId,
int *  blocks 
)

◆ ChangeDiskUsage()

void ChangeDiskUsage ( Volume volptr,
int  length 
)

◆ CheckCreateSemantics()

int CheckCreateSemantics ( ClientEntry client,
Vnode **  dirvptr,
Vnode **  vptr,
char *  Name,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
void *  dirVersion,
void *  Version,
Rights *  rights,
Rights *  anyrights,
int  MakeProtChecks 
)

◆ CheckDiskUsage()

int CheckDiskUsage ( Volume volptr,
int  length 
)

◆ CheckFetchSemantics()

int CheckFetchSemantics ( ClientEntry client,
Vnode **  avptr,
Vnode **  vptr,
Volume **  volptr,
Rights *  rights,
Rights *  anyrights 
)

◆ CheckGetACLSemantics()

int CheckGetACLSemantics ( ClientEntry client,
Vnode **  vptr,
Volume **  volptr,
Rights *  rights,
Rights *  anyrights,
RPC2_BoundedBS AccessList,
RPC2_String eACL 
)

◆ CheckGetAttrSemantics()

int CheckGetAttrSemantics ( ClientEntry client,
Vnode **  avptr,
Vnode **  vptr,
Volume **  volptr,
Rights *  rights,
Rights *  anyrights 
)

◆ CheckLinkSemantics()

int CheckLinkSemantics ( ClientEntry client,
Vnode **  dirvptr,
Vnode **  vptr,
char *  Name,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
void *  dirVersion,
void *  Version,
Rights *  rights,
Rights *  anyrights,
int  MakeProtChecks 
)

◆ CheckMkdirSemantics()

int CheckMkdirSemantics ( ClientEntry client,
Vnode **  dirvptr,
Vnode **  vptr,
char *  Name,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
void *  dirVersion,
void *  Version,
Rights *  rights,
Rights *  anyrights,
int  MakeProtChecks 
)

◆ CheckReadMode()

int CheckReadMode ( ClientEntry client,
Vnode vptr 
)

◆ CheckRemoveSemantics()

int CheckRemoveSemantics ( ClientEntry client,
Vnode **  dirvptr,
Vnode **  vptr,
char *  Name,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
void *  dirVersion,
void *  Version,
Rights *  rights,
Rights *  anyrights,
int  MakeProtChecks 
)

◆ CheckRenameSemantics()

int CheckRenameSemantics ( ClientEntry client,
Vnode **  s_dirvptr,
Vnode **  t_dirvptr,
Vnode **  s_vptr,
char *  OldName,
Vnode **  t_vptr,
char *  NewName,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
void *  s_dirVersion,
void *  t_dirVersion,
void *  s_Version,
void *  t_Version,
Rights *  sd_rights,
Rights *  sd_anyrights,
Rights *  td_rights,
Rights *  td_anyrights,
Rights *  s_rights,
Rights *  s_anyrights,
int  MakeProtChecks,
int  IgnoreTargetNonEmpty,
dlist vlist 
)

◆ CheckRmdirSemantics()

int CheckRmdirSemantics ( ClientEntry client,
Vnode **  dirvptr,
Vnode **  vptr,
char *  Name,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
void *  dirVersion,
void *  Version,
Rights *  rights,
Rights *  anyrights,
int  MakeProtChecks 
)

◆ CheckSetACLSemantics()

int CheckSetACLSemantics ( ClientEntry client,
Vnode **  vptr,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
ViceVersionVector *  VV,
FileVersion  DataVersion,
Rights *  rights,
Rights *  anyrights,
RPC2_CountedBS AccessList,
AL_AccessList **  newACL 
)

◆ CheckSetAttrSemantics()

int CheckSetAttrSemantics ( ClientEntry client,
Vnode **  avptr,
Vnode **  vptr,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
RPC2_Integer  Length,
Date_t  Mtime,
UserId  Owner,
RPC2_Unsigned  Mode,
RPC2_Integer  Mask,
ViceVersionVector *  VV,
FileVersion  DataVersion,
Rights *  rights,
Rights *  anyrights 
)

◆ CheckStoreSemantics()

int CheckStoreSemantics ( ClientEntry client,
Vnode **  avptr,
Vnode **  vptr,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
ViceVersionVector *  VV,
FileVersion  DataVersion,
Rights *  rights,
Rights *  anyrights 
)

◆ CheckSymlinkSemantics()

int CheckSymlinkSemantics ( ClientEntry client,
Vnode **  dirvptr,
Vnode **  vptr,
char *  Name,
Volume **  volptr,
int  ReplicatedOp,
VCP  VCmpProc,
void *  dirVersion,
void *  Version,
Rights *  rights,
Rights *  anyrights,
int  MakeProtChecks 
)

◆ CheckWriteMode()

int CheckWriteMode ( ClientEntry client,
Vnode vptr 
)

◆ FetchBulkTransfer()

int FetchBulkTransfer ( RPC2_Handle  RPCid,
ClientEntry client,
Volume volptr,
Vnode vptr,
RPC2_Unsigned  Offset,
RPC2_Integer  Count,
ViceVersionVector *  VV 
)

◆ FetchFileByFD()

int FetchFileByFD ( RPC2_Handle  RPCid,
int  fd,
ClientEntry client 
)

◆ FetchFileByName()

int FetchFileByName ( RPC2_Handle  RPCid,
char *  name,
ClientEntry client 
)

◆ FS_ViceFetch()

long FS_ViceFetch ( RPC2_Handle  RPCid,
ViceFid *  Fid,
ViceVersionVector *  VV,
RPC2_Unsigned  InconOK,
ViceStatus *  Status,
RPC2_Unsigned  PrimaryHost,
RPC2_Unsigned  Offset,
RPC2_CountedBS PiggyBS,
SE_Descriptor BD 
)

◆ FS_ViceFetchPartial()

long FS_ViceFetchPartial ( RPC2_Handle  RPCid,
ViceFid *  Fid,
ViceVersionVector *  VV,
RPC2_Unsigned  InconOK,
ViceStatus *  Status,
RPC2_Unsigned  PrimaryHost,
RPC2_Unsigned  Offset,
RPC2_Unsigned  Count,
RPC2_CountedBS PiggyBS,
SE_Descriptor BD 
)

◆ FS_ViceGetACL()

long FS_ViceGetACL ( RPC2_Handle  RPCid,
ViceFid *  Fid,
RPC2_Unsigned  InconOK,
RPC2_BoundedBS AccessList,
ViceStatus *  Status,
RPC2_Unsigned  Unused,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceGetAttr()

long FS_ViceGetAttr ( RPC2_Handle  RPCid,
ViceFid *  Fid,
RPC2_Unsigned  InconOK,
ViceStatus *  Status,
RPC2_Unsigned  Unused,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceGetAttrPlusSHA()

long FS_ViceGetAttrPlusSHA ( RPC2_Handle  RPCid,
ViceFid *  Fid,
RPC2_Unsigned  InconOK,
ViceStatus *  Status,
RPC2_BoundedBS MySHA,
RPC2_Unsigned  Unused,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceSetACL()

long FS_ViceSetACL ( RPC2_Handle  RPCid,
ViceFid *  Fid,
RPC2_CountedBS AccessList,
ViceStatus *  Status,
RPC2_Unsigned  Unused,
ViceStoreId *  StoreId,
RPC2_CountedBS OldVS,
RPC2_Integer NewVS,
CallBackStatus *  VCBStatus,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceValidateAttrs()

long FS_ViceValidateAttrs ( RPC2_Handle  RPCid,
RPC2_Unsigned  Unused,
ViceFid *  PrimaryFid,
ViceStatus *  Status,
RPC2_Unsigned  NumPiggyFids,
ViceFidAndVV  Piggies[],
RPC2_BoundedBS VFlagBS,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceValidateAttrsPlusSHA()

long FS_ViceValidateAttrsPlusSHA ( RPC2_Handle  RPCid,
RPC2_Unsigned  Unused,
ViceFid *  PrimaryFid,
ViceStatus *  Status,
RPC2_BoundedBS MySHA,
RPC2_Unsigned  NumPiggyFids,
ViceFidAndVV  Piggies[],
RPC2_BoundedBS VFlagBS,
RPC2_CountedBS PiggyBS 
)

◆ GetFsObj()

int GetFsObj ( ViceFid *  fid,
Volume **  volptr,
Vnode **  vptr,
int  lock,
int  VolumeLock,
int  ignoreIncon,
int  ignoreBQ,
int  getdirhandle 
)

◆ GetMaxVV()

void GetMaxVV ( ViceVersionVector *  newvv,
ViceVersionVector **  vvgroup,
int  domindex 
)

◆ GetRights()

int GetRights ( PRS_InternalCPS CPS,
AL_AccessList ACL,
int  ACLSize,
Rights *  rights,
Rights *  anyrights 
)

◆ HandleWeakEquality()

void HandleWeakEquality ( Volume volptr,
Vnode vptr,
ViceVersionVector *  vv 
)

◆ MakeLogNonEmpty()

void MakeLogNonEmpty ( Vnode )

◆ PerformCreate()

int PerformCreate ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode dirvptr,
Vnode vptr,
char *  Name,
Date_t  Mtime,
RPC2_Unsigned  Mode,
int  ReplicatedOp,
ViceStoreId *  StoreId,
PDirInode CowInode,
int *  blocks,
RPC2_Integer vsptr 
)

◆ PerformFetch()

void PerformFetch ( ClientEntry client,
Volume volptr,
Vnode vptr 
)

◆ PerformGetACL()

void PerformGetACL ( ClientEntry client,
Volume volptr,
Vnode vptr,
RPC2_BoundedBS AccessList,
RPC2_String  eACL 
)

◆ PerformGetAttr()

void PerformGetAttr ( ClientEntry client,
Volume volptr,
Vnode vptr 
)

◆ PerformLink()

int PerformLink ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode dirvptr,
Vnode vptr,
char *  Name,
Date_t  Mtime,
int  ReplicatedOp,
ViceStoreId *  StoreId,
PDirInode CowInode,
int *  blocks,
RPC2_Integer vsptr 
)

◆ PerformMkdir()

int PerformMkdir ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode dirvptr,
Vnode vptr,
char *  Name,
Date_t  Mtime,
RPC2_Unsigned  Mode,
int  ReplicatedOp,
ViceStoreId *  StoreId,
PDirInode CowInode,
int *  blocks,
RPC2_Integer vsptr 
)

◆ PerformRemove()

void PerformRemove ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode dirvptr,
Vnode vptr,
char *  Name,
Date_t  Mtime,
int  ReplicatedOp,
ViceStoreId *  StoreId,
PDirInode CowInode,
int *  blocks,
RPC2_Integer vsptr 
)

◆ PerformRename()

void PerformRename ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode sd_vptr,
Vnode td_vptr,
Vnode s_vptr,
Vnode t_vptr,
char *  OldName,
char *  NewName,
Date_t  Mtime,
int  ReplicatedOp,
ViceStoreId *  StoreId,
PDirInode sd_CowInode,
PDirInode td_CowInode,
PDirInode s_CowInode,
int *  nblocks,
RPC2_Integer vsptr 
)

◆ PerformRmdir()

void PerformRmdir ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode dirvptr,
Vnode vptr,
char *  Name,
Date_t  Mtime,
int  ReplicatedOp,
ViceStoreId *  StoreId,
PDirInode CowInode,
int *  blocks,
RPC2_Integer vsptr 
)

◆ PerformSetACL()

void PerformSetACL ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode vptr,
int  voltype,
ViceStoreId *  StoreId,
AL_AccessList newACL,
RPC2_Integer vsptr 
)

◆ PerformSetAttr()

void PerformSetAttr ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode vptr,
int  ReplicatedOp,
RPC2_Integer  Length,
Date_t  Mtime,
UserId  Owner,
RPC2_Unsigned  Mode,
RPC2_Integer  Mask,
ViceStoreId *  StoreId,
Inode CowInode,
RPC2_Integer vsptr 
)

◆ PerformStore()

void PerformStore ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode vptr,
Inode  newinode,
int  ReplicatedOp,
RPC2_Integer  Length,
Date_t  Mtime,
ViceStoreId *  StoreId,
RPC2_Integer vsptr 
)

◆ PerformSymlink()

int PerformSymlink ( ClientEntry client,
VolumeId  VSGVolnum,
Volume volptr,
Vnode dirvptr,
Vnode vptr,
char *  Name,
Inode  newinode,
RPC2_Unsigned  Length,
Date_t  Mtime,
RPC2_Unsigned  Mode,
int  ReplicatedOp,
ViceStoreId *  StoreId,
PDirInode CowInode,
int *  blocks,
RPC2_Integer vsptr 
)

◆ PollAndYield()

void PollAndYield ( )

◆ PutObjects()

void PutObjects ( int  errorCode,
Volume volptr,
int  LockLevel,
dlist vlist,
int  blocks,
int  TranFlag,
int  UpdateVolume 
)

◆ SetStatus()

void SetStatus ( struct Vnode vptr,
ViceStatus *  status,
Rights  rights,
Rights  anyrights 
)

◆ StoreBulkTransfer()

int StoreBulkTransfer ( RPC2_Handle  RPCid,
ClientEntry client,
Volume volptr,
Vnode vptr,
Inode  newinode,
RPC2_Integer  Length 
)

◆ SystemUser()

int SystemUser ( ClientEntry client)

◆ ValidateParms()

int ValidateParms ( RPC2_Handle  RPCid,
ClientEntry **  client,
int *  voltype,
VolumeId *  Vidp,
RPC2_CountedBS PiggyBS,
int *  Nservers 
)

◆ VCheckDiskUsage()

void VCheckDiskUsage ( Error ,
Volume ,
int   
)

Variable Documentation

◆ Yield_PutInodes_Mask

const int Yield_PutInodes_Mask = (Yield_PutInodes_Period - 1)

◆ Yield_PutInodes_Period

const int Yield_PutInodes_Period = 16

◆ Yield_PutObjects_Mask

const int Yield_PutObjects_Mask = Yield_PutObjects_Period - 1

◆ Yield_PutObjects_Period

const int Yield_PutObjects_Period = 8