42#define DIROPNAMESIZE 256
46#define RES_Remove_OP 4
47#define RES_Create_OP 5
48#define RES_Rename_OP 6
49#define RES_SymLink_OP 7
51#define RES_MakeDir_OP 9
52#define RES_RemoveDir_OP 10
53#define RES_SetVolumeStatus_OP 18
54#define RES_Repair_OP 33
55#define RES_NewStore_OP 52
57#define RESOLVE_OPERATION_BASE 128
58#define ResolveStoreAcl_OP RESOLVE_OPERATION_BASE + 2
59#define ResolveViceRemove_OP RESOLVE_OPERATION_BASE + 3
60#define ResolveViceCreate_OP RESOLVE_OPERATION_BASE + 4
61#define ResolveViceRename_OP RESOLVE_OPERATION_BASE + 5
62#define ResolveViceSymLink_OP RESOLVE_OPERATION_BASE + 6
63#define ResolveViceLink_OP RESOLVE_OPERATION_BASE + 7
64#define ResolveViceMakeDir_OP RESOLVE_OPERATION_BASE + 8
65#define ResolveViceRemoveDir_OP RESOLVE_OPERATION_BASE + 9
66#define ResolveNULL_OP RESOLVE_OPERATION_BASE + 10
67#define ResolveViceSetVolumeStatus_OP RESOLVE_OPERATION_BASE + 11
69#define ResolveViceNewStore_OP RESOLVE_OPERATION_BASE + 12
71#define ResolveAfterCrash_OP RESOLVE_OPERATION_BASE - 1
73#define PRINTOPCODE(op) \
74 ((op) == RES_Create_OP ? "Create" : \
75 (op) == ResolveViceCreate_OP ? "ResolveCreate" : \
76 (op) == RES_Remove_OP ? "Remove" : \
77 (op) == ResolveViceRemove_OP ? "ResolveRemove" : \
78 (op) == RES_Link_OP ? "Link" : \
79 (op) == ResolveViceLink_OP ? "ResolveLink" : \
80 (op) == RES_Rename_OP ? "Rename" : \
81 (op) == ResolveViceRename_OP ? "ResolveRename" : \
82 (op) == RES_MakeDir_OP ? "Mkdir" : \
83 (op) == ResolveViceMakeDir_OP ? "ResolveMkdir" : \
84 (op) == RES_RemoveDir_OP ? "Rmdir" : \
85 (op) == ResolveViceRemoveDir_OP ? "ResolveRmdir" : \
86 (op) == RES_SymLink_OP ? "Symlink" : \
87 (op) == ResolveViceSymLink_OP ? "ResolveSymlink" : \
88 (op) == ResolveNULL_OP ? "ResolveNULL_OP" : \
89 (op) == RES_Repair_OP ? "Repair_OP" : \
90 (op) == ResolveViceSetVolumeStatus_OP ? "ResolveViceSetVolumeStatus_OP" : \
91 (op) == RES_SetVolumeStatus_OP ? "SetVolumeStatus_OP" : \
92 (op) == RES_NewStore_OP ? "NewStore" : \
93 (op) == ResolveViceNewStore_OP ? "ResolveNewStore" : \
96#define ISNONRESOLVEOP(a) \
97 (((a) < RESOLVE_OPERATION_BASE) || ((a) == ResolveNULL_OP))
98#define FormFid(fid, vol, vn, un) \
100 (fid).Volume = (vol); \
101 (fid).Vnode = (vn); \
102 (fid).Unique = (un); \
108#define MARKPARENTINC 2
110#define CREATEINCOBJ 4
120#define SIZEOF_INCFID 5 * sizeof(long)
132 ilink(
const char *
c,
long vn,
long unq,
long pvn,
long punq,
long t)
148void GetResStatus(
unsigned long *, ResStatus **, ViceStatus *);
154void ParseIncBSEntry(
char **,
char **,
long *,
long *,
long *,
long *,
long *);
Definition: rescomm.h:137
#define EXCLUDES_TRANSACTION
Definition: coda_tsa.h:108
command_t list[]
Definition: repair.cc:29
he * FindHE(olist *list, long hostaddress)
Definition: resutil.cc:54
long CheckResRetCodes(RPC2_Integer *, unsigned long *, unsigned long *)
Definition: resutil.cc:166
ilink * AddILE(dlist &, const char *, long, long, long, long, long)
Definition: resutil.cc:195
void GetResStatus(unsigned long *, ResStatus **, ViceStatus *)
Definition: resutil.cc:341
int CreateObjToMarkInc(Volume *, ViceFid *, ViceFid *, char *, int, dlist *, int *) EXCLUDES_TRANSACTION
Definition: resclient.cc:244
int CompareIlinkEntry(ilink *, ilink *)
Definition: resutil.cc:311
int GetNameInParent(Vnode *, dlist *, Volume *, char *) EXCLUDES_TRANSACTION
Definition: resclient.cc:642
void BSToDlist(RPC2_BoundedBS *, dlist *)
Definition: resutil.cc:210
void DlistToBS(dlist *, RPC2_BoundedBS *)
Definition: resutil.cc:226
long CheckRetCodes(RPC2_Integer *, unsigned long *, unsigned long *)
Definition: resutil.cc:136
void CleanIncList(dlist *)
Definition: resutil.cc:242
long OldDirResolve(res_mgrpent *, ViceFid *, ViceVersionVector **)
Definition: rescoord.cc:461
void AllocStoreId(ViceStoreId *)
Definition: resutil.cc:116
void AllocIncBSEntry(RPC2_BoundedBS *, char *, ViceFid *, ViceFid *, long)
Definition: resutil.cc:280
long FileResolve(res_mgrpent *, ViceFid *, ViceVersionVector **) EXCLUDES_TRANSACTION
Definition: resfile.cc:82
void ParseIncBSEntry(char **, char **, long *, long *, long *, long *, long *)
Definition: resutil.cc:252
void * Dir_n_ACL(struct Vnode *vn, int *size)
Definition: resutil.cc:369
void GetRemoteRemoveStoreId(ViceStoreId *, olist *, unsigned long, ViceFid *, ViceFid *, char *)
void MarkObjInc(ViceFid *, Vnode *)
Definition: resclient.cc:229
void ObtainResStatus(ResStatus *, VnodeDiskObjectStruct *)
Definition: resutil.cc:332
int CreateResPhase2Objects(ViceFid *, dlist *, dlist *, Volume *, VolumeId, int *) EXCLUDES_TRANSACTION
Definition: resclient.cc:590
int GetPhase2Objects(ViceFid *, dlist *, dlist *, Volume **) EXCLUDES_TRANSACTION
Definition: resclient.cc:498
int32_t RPC2_Integer
Definition: rpc2.h:297
olist vlist
Definition: resutil.h:35
he(long id)
Definition: resutil.h:38
long hid
Definition: resutil.h:36
Definition: resutil.h:124
long type
Definition: resutil.h:130
long punique
Definition: resutil.h:129
ilink(const char *c, long vn, long unq, long pvn, long punq, long t)
Definition: resutil.h:132
long vnode
Definition: resutil.h:126
long pvnode
Definition: resutil.h:128
char * name
Definition: resutil.h:125
long unique
Definition: resutil.h:127
~ilink()
Definition: resutil.h:141
char c
Definition: tdb.c:54