|
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 |