Coda Distributed File System
|
#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"
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) |
#define ANYREAD 0004 |
#define ANYWRITE 0002 |
#define O_BINARY 0 |
#define OWNERREAD 0400 |
#define OWNERWRITE 0200 |
enum CLMS_Op |
int AdjustDiskUsage | ( | Volume * | volptr, |
int | length | ||
) |
int AllocVnode | ( | Vnode ** | vptr, |
Volume * | volptr, | ||
ViceDataType | vtype, | ||
ViceFid * | Fid, | ||
ViceFid * | pFid, | ||
UserId | ClientId, | ||
int * | blocks | ||
) |
void ChangeDiskUsage | ( | Volume * | volptr, |
int | length | ||
) |
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 CheckDiskUsage | ( | Volume * | volptr, |
int | length | ||
) |
int CheckFetchSemantics | ( | 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 CheckGetAttrSemantics | ( | ClientEntry * | client, |
Vnode ** | avptr, | ||
Vnode ** | vptr, | ||
Volume ** | volptr, | ||
Rights * | rights, | ||
Rights * | anyrights | ||
) |
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 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 CheckReadMode | ( | ClientEntry * | client, |
Vnode * | vptr | ||
) |
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 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 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 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 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 CheckStoreSemantics | ( | ClientEntry * | client, |
Vnode ** | avptr, | ||
Vnode ** | vptr, | ||
Volume ** | volptr, | ||
int | ReplicatedOp, | ||
VCP | VCmpProc, | ||
ViceVersionVector * | VV, | ||
FileVersion | DataVersion, | ||
Rights * | rights, | ||
Rights * | anyrights | ||
) |
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 | ||
) |
int CheckWriteMode | ( | ClientEntry * | client, |
Vnode * | vptr | ||
) |
int FetchBulkTransfer | ( | RPC2_Handle | RPCid, |
ClientEntry * | client, | ||
Volume * | volptr, | ||
Vnode * | vptr, | ||
RPC2_Unsigned | Offset, | ||
RPC2_Integer | Count, | ||
ViceVersionVector * | VV | ||
) |
int FetchFileByFD | ( | RPC2_Handle | RPCid, |
int | fd, | ||
ClientEntry * | client | ||
) |
int FetchFileByName | ( | RPC2_Handle | RPCid, |
char * | name, | ||
ClientEntry * | client | ||
) |
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 | ||
) |
long FS_ViceGetACL | ( | RPC2_Handle | RPCid, |
ViceFid * | Fid, | ||
RPC2_Unsigned | InconOK, | ||
RPC2_BoundedBS * | AccessList, | ||
ViceStatus * | Status, | ||
RPC2_Unsigned | Unused, | ||
RPC2_CountedBS * | PiggyBS | ||
) |
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 | ||
) |
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 | ||
) |
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 | ||
) |
int GetFsObj | ( | ViceFid * | fid, |
Volume ** | volptr, | ||
Vnode ** | vptr, | ||
int | lock, | ||
int | VolumeLock, | ||
int | ignoreIncon, | ||
int | ignoreBQ, | ||
int | getdirhandle | ||
) |
void GetMaxVV | ( | ViceVersionVector * | newvv, |
ViceVersionVector ** | vvgroup, | ||
int | domindex | ||
) |
int GetRights | ( | PRS_InternalCPS * | CPS, |
AL_AccessList * | ACL, | ||
int | ACLSize, | ||
Rights * | rights, | ||
Rights * | anyrights | ||
) |
void MakeLogNonEmpty | ( | Vnode * | ) |
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 PerformFetch | ( | ClientEntry * | client, |
Volume * | volptr, | ||
Vnode * | vptr | ||
) |
void PerformGetACL | ( | ClientEntry * | client, |
Volume * | volptr, | ||
Vnode * | vptr, | ||
RPC2_BoundedBS * | AccessList, | ||
RPC2_String | eACL | ||
) |
void PerformGetAttr | ( | ClientEntry * | client, |
Volume * | volptr, | ||
Vnode * | vptr | ||
) |
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 | ||
) |
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 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 | ||
) |
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 | ||
) |
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 | ||
) |
void PerformSetACL | ( | ClientEntry * | client, |
VolumeId | VSGVolnum, | ||
Volume * | volptr, | ||
Vnode * | vptr, | ||
int | voltype, | ||
ViceStoreId * | StoreId, | ||
AL_AccessList * | newACL, | ||
RPC2_Integer * | vsptr | ||
) |
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 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 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 PollAndYield | ( | ) |
void PutObjects | ( | int | errorCode, |
Volume * | volptr, | ||
int | LockLevel, | ||
dlist * | vlist, | ||
int | blocks, | ||
int | TranFlag, | ||
int | UpdateVolume | ||
) |
void SetStatus | ( | struct Vnode * | vptr, |
ViceStatus * | status, | ||
Rights | rights, | ||
Rights | anyrights | ||
) |
int StoreBulkTransfer | ( | RPC2_Handle | RPCid, |
ClientEntry * | client, | ||
Volume * | volptr, | ||
Vnode * | vptr, | ||
Inode | newinode, | ||
RPC2_Integer | Length | ||
) |
int SystemUser | ( | ClientEntry * | client | ) |
int ValidateParms | ( | RPC2_Handle | RPCid, |
ClientEntry ** | client, | ||
int * | voltype, | ||
VolumeId * | Vidp, | ||
RPC2_CountedBS * | PiggyBS, | ||
int * | Nservers | ||
) |
const int Yield_PutInodes_Mask = (Yield_PutInodes_Period - 1) |
const int Yield_PutInodes_Period = 16 |
const int Yield_PutObjects_Mask = Yield_PutObjects_Period - 1 |
const int Yield_PutObjects_Period = 8 |