Coda Distributed File System
Classes | Macros | Functions | Variables
codaproc.cc File Reference
#include <stdio.h>
#include <sys/types.h>
#include <sys/param.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <struct.h>
#include <inodeops.h>
#include <unistd.h>
#include <stdlib.h>
#include "coda_string.h"
#include <lwp/lwp.h>
#include <rpc2/rpc2.h>
#include <rpc2/se.h>
#include <util.h>
#include <rvmlib.h>
#include <prs.h>
#include <al.h>
#include <vice.h>
#include <vmindex.h>
#include <srv.h>
#include <recov_vollog.h>
#include "coppend.h"
#include <lockqueue.h>
#include <vldb.h>
#include <vrdb.h>
#include <repio.h>
#include <vlist.h>
#include <callback.h>
#include "codaproc.h"
#include <codadir.h>
#include <nettohost.h>
#include <operations.h>
#include <res.h>
#include <resutil.h>
#include <rescomm.h>
#include <ops.h>
#include <timing.h>
#include "treeremove.h"
Include dependency graph for codaproc.cc:

Classes

class  rmblk
 

Macros

#define EMPTYDIRBLOCKS   2
 
#define MAX_HINTS   5
 
#define ISCREATE(op)
 

Functions

int CmpPlus (AL_AccessEntry *a, AL_AccessEntry *b)
 
int CmpMinus (AL_AccessEntry *a, AL_AccessEntry *b)
 
int CheckWriteMode (ClientEntry *, Vnode *)
 
int FetchFileByFD (RPC2_Handle, int fd, ClientEntry *)
 
int GetSubTree (ViceFid *, Volume *, dlist *) EXCLUDES_TRANSACTION
 
int PerformTreeRemoval (struct DirEntry *, void *) EXCLUDES_TRANSACTION
 
void UpdateVVs (ViceVersionVector *, ViceVersionVector *, ViceVersionVector *)
 
long FS_ViceAllocFids (RPC2_Handle cid, VolumeId Vid, ViceDataType Type, ViceFidRange *Range) EXCLUDES_TRANSACTION
 
long FS_OldViceAllocFids (RPC2_Handle cid, VolumeId Vid, ViceDataType Type, ViceFidRange *Range, RPC2_Unsigned AllocHost, RPC2_CountedBS *PiggyBS) EXCLUDES_TRANSACTION
 
long FS_ViceCOP2 (RPC2_Handle cid, RPC2_CountedBS *PiggyBS) EXCLUDES_TRANSACTION
 
long FS_ViceResolve (RPC2_Handle cid, ViceFid *Fid) EXCLUDES_TRANSACTION
 
long FS_ViceSetVV (RPC2_Handle cid, ViceFid *Fid, ViceVersionVector *VV, RPC2_CountedBS *PiggyBS) EXCLUDES_TRANSACTION
 
long FS_ViceRepair (RPC2_Handle cid, ViceFid *Fid, ViceStatus *status, ViceStoreId *StoreId, SE_Descriptor *BD) EXCLUDES_TRANSACTION
 
int SetRights (Vnode *vptr, char *name, int rights)
 
int SetNRights (Vnode *vptr, char *name, int rights)
 
int PerformTreeRemoval (PDirEntry de, void *data)
 
long InternalCOP2 (RPC2_Handle cid, ViceStoreId *StoreId, ViceVersionVector *UpdateSet)
 
void NewCOP1Update (Volume *volptr, Vnode *vptr, ViceStoreId *StoreId, RPC2_Integer *vsptr, bool isReplicated)
 
void PollAndYield ()
 
long FS_ViceGetVolVS (RPC2_Handle cid, VolumeId Vid, RPC2_Integer *VS, CallBackStatus *CBStatus) EXCLUDES_TRANSACTION
 
void GetMyVS (Volume *volptr, RPC2_CountedBS *VSList, RPC2_Integer *MyVS, int voltype)
 
void SetVSStatus (ClientEntry *client, Volume *volptr, RPC2_Integer *NewVS, CallBackStatus *VCBStatus, int voltype)
 
long FS_ViceValidateVols (RPC2_Handle cid, RPC2_Unsigned numVids, ViceVolumeIdStruct Vids[], RPC2_CountedBS *VSBS, RPC2_BoundedBS *VFlagBS) EXCLUDES_TRANSACTION
 

Variables

ViceVersionVector NullVV = { { 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0 }, 0 }
 
int OngoingRepairs = 0
 
const int MaxFidAlloc = 32
 

Macro Definition Documentation

◆ EMPTYDIRBLOCKS

#define EMPTYDIRBLOCKS   2

◆ ISCREATE

#define ISCREATE (   op)
Value:
(((op) == REPAIR_CREATEF) || ((op) == REPAIR_CREATES) || \
((op) == REPAIR_CREATED) || ((op) == REPAIR_CREATEL))
#define REPAIR_CREATES
Definition: repio.h:65
#define REPAIR_CREATEL
Definition: repio.h:66
#define REPAIR_CREATEF
Definition: repio.h:63
#define REPAIR_CREATED
Definition: repio.h:64

◆ MAX_HINTS

#define MAX_HINTS   5

Function Documentation

◆ CheckWriteMode()

int CheckWriteMode ( ClientEntry client,
Vnode vptr 
)

◆ CmpMinus()

int CmpMinus ( AL_AccessEntry a,
AL_AccessEntry b 
)

◆ CmpPlus()

int CmpPlus ( AL_AccessEntry a,
AL_AccessEntry b 
)

◆ FetchFileByFD()

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

◆ FS_OldViceAllocFids()

long FS_OldViceAllocFids ( RPC2_Handle  cid,
VolumeId  Vid,
ViceDataType  Type,
ViceFidRange *  Range,
RPC2_Unsigned  AllocHost,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceAllocFids()

long FS_ViceAllocFids ( RPC2_Handle  cid,
VolumeId  Vid,
ViceDataType  Type,
ViceFidRange *  Range 
)

◆ FS_ViceCOP2()

long FS_ViceCOP2 ( RPC2_Handle  cid,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceGetVolVS()

long FS_ViceGetVolVS ( RPC2_Handle  cid,
VolumeId  Vid,
RPC2_Integer VS,
CallBackStatus *  CBStatus 
)

◆ FS_ViceRepair()

long FS_ViceRepair ( RPC2_Handle  cid,
ViceFid *  Fid,
ViceStatus *  status,
ViceStoreId *  StoreId,
SE_Descriptor BD 
)

◆ FS_ViceResolve()

long FS_ViceResolve ( RPC2_Handle  cid,
ViceFid *  Fid 
)

◆ FS_ViceSetVV()

long FS_ViceSetVV ( RPC2_Handle  cid,
ViceFid *  Fid,
ViceVersionVector *  VV,
RPC2_CountedBS PiggyBS 
)

◆ FS_ViceValidateVols()

long FS_ViceValidateVols ( RPC2_Handle  cid,
RPC2_Unsigned  numVids,
ViceVolumeIdStruct  Vids[],
RPC2_CountedBS VSBS,
RPC2_BoundedBS VFlagBS 
)

◆ GetMyVS()

void GetMyVS ( Volume volptr,
RPC2_CountedBS VSList,
RPC2_Integer MyVS,
int  voltype 
)

◆ GetSubTree()

int GetSubTree ( ViceFid *  fid,
Volume volptr,
dlist vlist 
)

◆ InternalCOP2()

long InternalCOP2 ( RPC2_Handle  cid,
ViceStoreId *  StoreId,
ViceVersionVector *  UpdateSet 
)

◆ NewCOP1Update()

void NewCOP1Update ( Volume volptr,
Vnode vptr,
ViceStoreId *  StoreId,
RPC2_Integer vsptr,
bool  isReplicated 
)

◆ PerformTreeRemoval() [1/2]

int PerformTreeRemoval ( PDirEntry  de,
void *  data 
)

◆ PerformTreeRemoval() [2/2]

int PerformTreeRemoval ( struct DirEntry ,
void *   
)

◆ PollAndYield()

void PollAndYield ( )

◆ SetNRights()

int SetNRights ( Vnode vptr,
char *  name,
int  rights 
)

◆ SetRights()

int SetRights ( Vnode vptr,
char *  name,
int  rights 
)

◆ SetVSStatus()

void SetVSStatus ( ClientEntry client,
Volume volptr,
RPC2_Integer NewVS,
CallBackStatus *  VCBStatus,
int  voltype 
)

◆ UpdateVVs()

void UpdateVVs ( ViceVersionVector *  VVV,
ViceVersionVector *  VV,
ViceVersionVector *  US 
)

Variable Documentation

◆ MaxFidAlloc

const int MaxFidAlloc = 32

◆ NullVV

ViceVersionVector NullVV = { { 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0 }, 0 }

◆ OngoingRepairs

int OngoingRepairs = 0