Coda Distributed File System
Classes | Macros | Functions
resutil.h File Reference
#include <res.h>
#include "dlist.h"
Include dependency graph for resutil.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  he
 
struct  ilink
 

Macros

#define DIROPNAMESIZE   256
 
#define RES_Remove_OP   4
 
#define RES_Create_OP   5
 
#define RES_Rename_OP   6
 
#define RES_SymLink_OP   7
 
#define RES_Link_OP   8
 
#define RES_MakeDir_OP   9
 
#define RES_RemoveDir_OP   10
 
#define RES_SetVolumeStatus_OP   18
 
#define RES_Repair_OP   33
 
#define RES_NewStore_OP   52
 
#define RESOLVE_OPERATION_BASE   128
 
#define ResolveStoreAcl_OP   RESOLVE_OPERATION_BASE + 2
 
#define ResolveViceRemove_OP   RESOLVE_OPERATION_BASE + 3
 
#define ResolveViceCreate_OP   RESOLVE_OPERATION_BASE + 4
 
#define ResolveViceRename_OP   RESOLVE_OPERATION_BASE + 5
 
#define ResolveViceSymLink_OP   RESOLVE_OPERATION_BASE + 6
 
#define ResolveViceLink_OP   RESOLVE_OPERATION_BASE + 7
 
#define ResolveViceMakeDir_OP   RESOLVE_OPERATION_BASE + 8
 
#define ResolveViceRemoveDir_OP   RESOLVE_OPERATION_BASE + 9
 
#define ResolveNULL_OP   RESOLVE_OPERATION_BASE + 10
 
#define ResolveViceSetVolumeStatus_OP   RESOLVE_OPERATION_BASE + 11
 
#define ResolveViceNewStore_OP   RESOLVE_OPERATION_BASE + 12
 
#define ResolveAfterCrash_OP   RESOLVE_OPERATION_BASE - 1
 
#define PRINTOPCODE(op)
 
#define ISNONRESOLVEOP(a)    (((a) < RESOLVE_OPERATION_BASE) || ((a) == ResolveNULL_OP))
 
#define FormFid(fid, vol, vn, un)
 
#define PERFORMOP   0
 
#define NULLOP   1
 
#define MARKPARENTINC   2
 
#define MARKOBJINC   3
 
#define CREATEINCOBJ   4
 
#define MAXCOMPS   100
 
#define SIZEOF_INCFID   5 * sizeof(long)
 

Functions

heFindHE (olist *list, long hostaddress)
 
void GetResStatus (unsigned long *, ResStatus **, ViceStatus *)
 
void AllocStoreId (ViceStoreId *)
 
long CheckRetCodes (RPC2_Integer *, unsigned long *, unsigned long *)
 
long CheckResRetCodes (RPC2_Integer *, unsigned long *, unsigned long *)
 
void BSToDlist (RPC2_BoundedBS *, dlist *)
 
void DlistToBS (dlist *, RPC2_BoundedBS *)
 
void ParseIncBSEntry (char **, char **, long *, long *, long *, long *, long *)
 
void AllocIncBSEntry (RPC2_BoundedBS *, char *, ViceFid *, ViceFid *, long)
 
int CompareIlinkEntry (ilink *, ilink *)
 
ilinkAddILE (dlist &, const char *, long, long, long, long, long)
 
void CleanIncList (dlist *)
 
void MarkObjInc (ViceFid *, Vnode *)
 
int CreateObjToMarkInc (Volume *, ViceFid *, ViceFid *, char *, int, dlist *, int *) EXCLUDES_TRANSACTION
 
void ObtainResStatus (ResStatus *, VnodeDiskObjectStruct *)
 
int GetPhase2Objects (ViceFid *, dlist *, dlist *, Volume **) EXCLUDES_TRANSACTION
 
int CreateResPhase2Objects (ViceFid *, dlist *, dlist *, Volume *, VolumeId, int *) EXCLUDES_TRANSACTION
 
void GetRemoteRemoveStoreId (ViceStoreId *, olist *, unsigned long, ViceFid *, ViceFid *, char *)
 
ViceStoreId * GetRemoteRemoveStoreId (olist *, unsigned long, ViceFid *, ViceFid *, char *)
 
int GetNameInParent (Vnode *, dlist *, Volume *, char *) EXCLUDES_TRANSACTION
 
void * Dir_n_ACL (struct Vnode *vn, int *size)
 
long OldDirResolve (res_mgrpent *, ViceFid *, ViceVersionVector **)
 
long FileResolve (res_mgrpent *, ViceFid *, ViceVersionVector **) EXCLUDES_TRANSACTION
 

Macro Definition Documentation

◆ CREATEINCOBJ

#define CREATEINCOBJ   4

◆ DIROPNAMESIZE

#define DIROPNAMESIZE   256

◆ FormFid

#define FormFid (   fid,
  vol,
  vn,
  un 
)
Value:
{ \
(fid).Volume = (vol); \
(fid).Vnode = (vn); \
(fid).Unique = (un); \
}
Definition: cvnode.h:155
Definition: volume.h:234

◆ ISNONRESOLVEOP

#define ISNONRESOLVEOP (   a)     (((a) < RESOLVE_OPERATION_BASE) || ((a) == ResolveNULL_OP))

◆ MARKOBJINC

#define MARKOBJINC   3

◆ MARKPARENTINC

#define MARKPARENTINC   2

◆ MAXCOMPS

#define MAXCOMPS   100

◆ NULLOP

#define NULLOP   1

◆ PERFORMOP

#define PERFORMOP   0

◆ PRINTOPCODE

#define PRINTOPCODE (   op)
Value:
((op) == RES_Create_OP ? "Create" : \
(op) == ResolveViceCreate_OP ? "ResolveCreate" : \
(op) == RES_Remove_OP ? "Remove" : \
(op) == ResolveViceRemove_OP ? "ResolveRemove" : \
(op) == RES_Link_OP ? "Link" : \
(op) == ResolveViceLink_OP ? "ResolveLink" : \
(op) == RES_Rename_OP ? "Rename" : \
(op) == ResolveViceRename_OP ? "ResolveRename" : \
(op) == RES_MakeDir_OP ? "Mkdir" : \
(op) == ResolveViceMakeDir_OP ? "ResolveMkdir" : \
(op) == RES_RemoveDir_OP ? "Rmdir" : \
(op) == ResolveViceRemoveDir_OP ? "ResolveRmdir" : \
(op) == RES_SymLink_OP ? "Symlink" : \
(op) == ResolveViceSymLink_OP ? "ResolveSymlink" : \
(op) == ResolveNULL_OP ? "ResolveNULL_OP" : \
(op) == RES_Repair_OP ? "Repair_OP" : \
(op) == ResolveViceSetVolumeStatus_OP ? "ResolveViceSetVolumeStatus_OP" : \
(op) == RES_SetVolumeStatus_OP ? "SetVolumeStatus_OP" : \
(op) == RES_NewStore_OP ? "NewStore" : \
(op) == ResolveViceNewStore_OP ? "ResolveNewStore" : \
"???")
#define ResolveViceSymLink_OP
Definition: resutil.h:62
#define ResolveViceRemoveDir_OP
Definition: resutil.h:65
#define ResolveViceRename_OP
Definition: resutil.h:61
#define ResolveViceRemove_OP
Definition: resutil.h:59
#define RES_Remove_OP
Definition: resutil.h:46
#define RES_MakeDir_OP
Definition: resutil.h:51
#define ResolveViceMakeDir_OP
Definition: resutil.h:64
#define ResolveViceCreate_OP
Definition: resutil.h:60
#define RES_RemoveDir_OP
Definition: resutil.h:52
#define RES_Repair_OP
Definition: resutil.h:54
#define ResolveViceSetVolumeStatus_OP
Definition: resutil.h:67
#define ResolveNULL_OP
Definition: resutil.h:66
#define RES_Link_OP
Definition: resutil.h:50
#define RES_SymLink_OP
Definition: resutil.h:49
#define RES_Rename_OP
Definition: resutil.h:48
#define RES_Create_OP
Definition: resutil.h:47
#define ResolveViceNewStore_OP
Definition: resutil.h:69
#define RES_SetVolumeStatus_OP
Definition: resutil.h:53
#define RES_NewStore_OP
Definition: resutil.h:55
#define ResolveViceLink_OP
Definition: resutil.h:63

◆ RES_Create_OP

#define RES_Create_OP   5

◆ RES_Link_OP

#define RES_Link_OP   8

◆ RES_MakeDir_OP

#define RES_MakeDir_OP   9

◆ RES_NewStore_OP

#define RES_NewStore_OP   52

◆ RES_Remove_OP

#define RES_Remove_OP   4

◆ RES_RemoveDir_OP

#define RES_RemoveDir_OP   10

◆ RES_Rename_OP

#define RES_Rename_OP   6

◆ RES_Repair_OP

#define RES_Repair_OP   33

◆ RES_SetVolumeStatus_OP

#define RES_SetVolumeStatus_OP   18

◆ RES_SymLink_OP

#define RES_SymLink_OP   7

◆ RESOLVE_OPERATION_BASE

#define RESOLVE_OPERATION_BASE   128

◆ ResolveAfterCrash_OP

#define ResolveAfterCrash_OP   RESOLVE_OPERATION_BASE - 1

◆ ResolveNULL_OP

#define ResolveNULL_OP   RESOLVE_OPERATION_BASE + 10

◆ ResolveStoreAcl_OP

#define ResolveStoreAcl_OP   RESOLVE_OPERATION_BASE + 2

◆ ResolveViceCreate_OP

#define ResolveViceCreate_OP   RESOLVE_OPERATION_BASE + 4

◆ ResolveViceLink_OP

#define ResolveViceLink_OP   RESOLVE_OPERATION_BASE + 7

◆ ResolveViceMakeDir_OP

#define ResolveViceMakeDir_OP   RESOLVE_OPERATION_BASE + 8

◆ ResolveViceNewStore_OP

#define ResolveViceNewStore_OP   RESOLVE_OPERATION_BASE + 12

◆ ResolveViceRemove_OP

#define ResolveViceRemove_OP   RESOLVE_OPERATION_BASE + 3

◆ ResolveViceRemoveDir_OP

#define ResolveViceRemoveDir_OP   RESOLVE_OPERATION_BASE + 9

◆ ResolveViceRename_OP

#define ResolveViceRename_OP   RESOLVE_OPERATION_BASE + 5

◆ ResolveViceSetVolumeStatus_OP

#define ResolveViceSetVolumeStatus_OP   RESOLVE_OPERATION_BASE + 11

◆ ResolveViceSymLink_OP

#define ResolveViceSymLink_OP   RESOLVE_OPERATION_BASE + 6

◆ SIZEOF_INCFID

#define SIZEOF_INCFID   5 * sizeof(long)

Function Documentation

◆ AddILE()

ilink * AddILE ( dlist dl,
const char *  name,
long  vnode,
long  unique,
long  pvnode,
long  punique,
long  type 
)

◆ AllocIncBSEntry()

void AllocIncBSEntry ( RPC2_BoundedBS bbs,
char *  name,
ViceFid *  Fid,
ViceFid *  pFid,
long  type 
)

◆ AllocStoreId()

void AllocStoreId ( ViceStoreId *  s)

◆ BSToDlist()

void BSToDlist ( RPC2_BoundedBS BS,
dlist dl 
)

◆ CheckResRetCodes()

long CheckResRetCodes ( RPC2_Integer rc,
unsigned long *  rh,
unsigned long *  hosts 
)

◆ CheckRetCodes()

long CheckRetCodes ( RPC2_Integer rc,
unsigned long *  rh,
unsigned long *  hosts 
)

◆ CleanIncList()

void CleanIncList ( dlist inclist)

◆ CompareIlinkEntry()

int CompareIlinkEntry ( ilink i,
ilink j 
)

◆ CreateObjToMarkInc()

int CreateObjToMarkInc ( Volume vp,
ViceFid *  dFid,
ViceFid *  cFid,
char *  name,
int  vntype,
dlist vlist,
int *  blocks 
)

◆ CreateResPhase2Objects()

int CreateResPhase2Objects ( ViceFid *  pfid,
dlist vlist,
dlist inclist,
Volume volptr,
VolumeId  VSGVolnum,
int *  blocks 
)

◆ Dir_n_ACL()

void * Dir_n_ACL ( struct Vnode vn,
int *  size 
)

◆ DlistToBS()

void DlistToBS ( dlist dl,
RPC2_BoundedBS BS 
)

◆ FileResolve()

long FileResolve ( res_mgrpent mgrp,
ViceFid *  Fid,
ViceVersionVector **  VV 
)

◆ FindHE()

he * FindHE ( olist list,
long  hostaddress 
)

◆ GetNameInParent()

int GetNameInParent ( Vnode vptr,
dlist vlist,
Volume volptr,
char *  name 
)

◆ GetPhase2Objects()

int GetPhase2Objects ( ViceFid *  pfid,
dlist vlist,
dlist inclist,
Volume **  volptr 
)

◆ GetRemoteRemoveStoreId() [1/2]

ViceStoreId * GetRemoteRemoveStoreId ( olist AllLogs,
unsigned long  serverid,
ViceFid *  pFid,
ViceFid *  cFid,
char *  cname 
)

◆ GetRemoteRemoveStoreId() [2/2]

void GetRemoteRemoveStoreId ( ViceStoreId *  ,
olist ,
unsigned long  ,
ViceFid *  ,
ViceFid *  ,
char *   
)

◆ GetResStatus()

void GetResStatus ( unsigned long *  succflags,
ResStatus **  status_p,
ViceStatus *  finalstatus 
)

◆ MarkObjInc()

void MarkObjInc ( ViceFid *  fid,
Vnode vptr 
)

◆ ObtainResStatus()

void ObtainResStatus ( ResStatus *  status,
VnodeDiskObjectStruct vdop 
)

◆ OldDirResolve()

long OldDirResolve ( res_mgrpent mgrp,
ViceFid *  Fid,
ViceVersionVector **  VV 
)

◆ ParseIncBSEntry()

void ParseIncBSEntry ( char **  c,
char **  name,
long *  vn,
long *  unique,
long *  pvn,
long *  punique,
long *  type 
)