19#ifndef _VENUS_VOLUME_H_
20#define _VENUS_VOLUME_H_ 1
90#define VDB (rvg->recov_VDB)
103#define VM_MUTATING 0x1
104#define VM_OBSERVING 0x2
105#define VM_RESOLVING 0x4
162 long entriesHighWater;
165 char cancelFrozenEntries;
180 entriesHighWater = entries;
181 bytesHighWater =
bytes;
191 int COP1(
char *,
int, ViceVersionVector *,
193 int COP1_NR(
char *buf,
int bufsize, ViceVersionVector *,
208 void cancelFreezes(
char flag) { cancelFrozenEntries = flag; }
220 uid_t
Owner() {
return owner; }
232 void IncPack(
char **,
int *,
int);
292 ViceVersionVector
VV;
301 ViceVersionVector
VV;
306 ViceVersionVector
VV;
311 ViceVersionVector
VV;
316 ViceVersionVector
VV;
322 ViceVersionVector
PVV;
328 ViceVersionVector
PVV;
329 ViceVersionVector
CVV;
341 ViceVersionVector
SPVV;
342 ViceVersionVector
TPVV;
343 ViceVersionVector
SVV;
349 ViceVersionVector
PVV;
354 ViceVersionVector
PVV;
355 ViceVersionVector
CVV;
361 ViceVersionVector
PVV;
369 ViceVersionVector
OVV;
402 unsigned long ReintTime(
unsigned long bw);
403 unsigned long ReintAmount(
unsigned long *reint_time);
440 int GetTid() {
return tid; }
456#define CmlIterOrder DlIterOrder
457#define CommitOrder DlAscending
458#define AbortOrder DlDescending
518 void operator delete(
void *);
528 void CheckLocalSubtree();
537 void DownEvent(struct in_addr *host);
538 void UpEvent(struct in_addr *host);
542 WriteDisconnect(
unsigned int age =
V_UNSETAGE,
556 void print(
int,
int = 0);
558 void ListCache(FILE *,
int long_format = 1,
unsigned int valid = 3);
559 int FreeMLECount(
void) {
return MaxMLEs - AllocatedMLEs; }
604struct FidRange :
public ViceFidRange {
697 unsigned int *age,
unsigned int *hogtime,
int *
conflict,
705 void GetHosts(struct in_addr hosts[VSG_MEMBERS]);
742 void ListCache(FILE *,
int long_format = 1,
unsigned int valid = 3);
779 ViceVersionVector
VVV;
905 int readonly, VolumeId
parent = 0);
911 static unsigned int allocs;
912 static unsigned int deallocs;
925 void Host(
struct in_addr *addr) { *addr = host; }
929 return (addr->s_addr == host.s_addr);
948 volrep *volreps[VSG_MEMBERS];
964 static unsigned int allocs;
965 static unsigned int deallocs;
983 void GetHosts(
struct in_addr hosts[VSG_MEMBERS]);
984 void GetVids(VolumeId out[VSG_MEMBERS]);
1012 int COP2(
mgrpent *, ViceStoreId *, ViceVersionVector *,
1018 void AddCOP2(ViceStoreId *, ViceVersionVector *);
1059 : non_rep_iterator(key)
1071 ViceVersionVector updateset;
1074 void *
operator new(size_t);
1075 cop2ent(ViceStoreId *, ViceVersionVector *);
1079 void operator delete(
void *);
1084 static int deallocs;
1113 static int deallocs;
1156#define VOL_ASSERT(v, ex) \
1159 (v)->print(logFile); \
1160 CHOKE("Assertion failed: file \"%s\", line %d\n", __FILE__, \
1165#define PRINT_VOLSTATE(state) \
1166 ((state) == Resolving ? "Resolving" : \
1167 (state) == Unreachable ? "Unreachable" : \
1168 (state) == Reachable ? "Reachable" : \
1170#define PRINT_VOLMODE(mode) \
1171 ((mode) & VM_OBSERVING ? "Observing" : \
1172 (mode) & VM_MUTATING ? "Mutating" : \
1173 (mode) & VM_RESOLVING ? "Resolving" : \
1175#define PRINT_MLETYPE(op) \
1176 ((op) == CML_Store_OP ? "Store" : \
1177 (op) == CML_Truncate_OP ? "Truncate" : \
1178 (op) == CML_Utimes_OP ? "Utimes" : \
1179 (op) == CML_Chown_OP ? "Chown" : \
1180 (op) == CML_Chmod_OP ? "Chmod" : \
1181 (op) == CML_Create_OP ? "Create" : \
1182 (op) == CML_Remove_OP ? "Remove" : \
1183 (op) == CML_Link_OP ? "Link" : \
1184 (op) == CML_Rename_OP ? "Rename" : \
1185 (op) == CML_MakeDir_OP ? "Mkdir" : \
1186 (op) == CML_RemoveDir_OP ? "Rmdir" : \
1187 (op) == CML_SymLink_OP ? "Symlink" : \
1188 (op) == CML_Repair_OP ? "Repair" : \
1191#define FAKEROOTFID(fid) \
1192 ((fid).Vnode == 0xffffffff)
Definition: venusvol.h:145
void MarkFailedMLE(int)
Definition: vol_cml.cc:418
void Clear() REQUIRES_TRANSACTION
Definition: vol_cml.cc:114
void TranslateFid(VenusFid *, VenusFid *) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1869
void IncThread(int)
Definition: vol_cml.cc:1878
int DiscardLocalMutation(char *) EXCLUDES_TRANSACTION
Definition: local_repair.cc:80
void MarkCommittedMLE(RPC2_Unsigned)
Definition: vol_cml.cc:457
void ClearToBeRepaired() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:4136
void ResetHighWater()
Definition: venusvol.h:172
long logBytesHighWater()
Definition: venusvol.h:211
~ClientModifyLog()
Definition: venusvol.h:170
int ListCML(FILE *) EXCLUDES_TRANSACTION
Definition: local_repair.cc:232
int COP1_NR(char *buf, int bufsize, ViceVersionVector *, int outoforder) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:2262
void IncCommit(ViceVersionVector *, int) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:2397
long countHighWater()
Definition: venusvol.h:213
void IncGetStats(cmlstats &, cmlstats &, int=UNSET_TID)
Definition: vol_cml.cc:134
void ResetTransient()
Definition: vol_cml.cc:84
void PreserveAllLocalMutation(char *) EXCLUDES_TRANSACTION
Definition: local_repair.cc:183
int count()
Definition: venusvol.h:212
int HaveElements(int) EXCLUDES_TRANSACTION
Definition: local_cml.cc:1264
cmlent * UtimesWriter(VenusFid *)
Definition: vol_cml.cc:1526
void IncPack(char **, int *, int)
Definition: vol_cml.cc:1943
void AttachFidBindings() REQUIRES_TRANSACTION
Definition: vol_cml.cc:3726
void print()
Definition: venusvol.h:216
void ClearPending() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:195
int GetReintegrateable(int, unsigned long *, int *) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:290
void MakeUsrSpoolDir(char *)
int COP1(char *, int, ViceVersionVector *, int outoforder) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:1984
void PreserveLocalMutation(char *) EXCLUDES_TRANSACTION
Definition: local_repair.cc:144
uid_t Owner()
Definition: venusvol.h:214
void CancelPending() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:167
void IncAbort(int=UNSET_TID) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:3656
void CheckCMLHead(char *msg) EXCLUDES_TRANSACTION
Definition: local_repair.cc:50
int IncReallocFids(int) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:1849
void HandleFailedMLE(void) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:477
cmlent * GetFatHead(int) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:369
int OutOfOrder(int tid)
Definition: vol_cml.cc:1923
void CancelStores() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:213
cmlent * LengthWriter(VenusFid *)
Definition: vol_cml.cc:1513
void cancelFreezes(char flag)
Definition: venusvol.h:202
int CheckPoint(char *) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:3538
ClientModifyLog() REQUIRES_TRANSACTION
Definition: venusvol.h:169
long logBytes()
Definition: venusvol.h:210
const RealmId Id(void)
Definition: realm.h:62
void print(FILE *f)
Definition: realm.cc:292
void ResetTransient(void)
Definition: realm.cc:111
Definition: venusvol.h:454
cml_iterator(ClientModifyLog &, CmlIterOrder=CommitOrder, const VenusFid *=NULL, cmlent *=0)
Definition: vol_cml.cc:3994
cmlent * operator()()
Definition: vol_cml.cc:4032
~cml_iterator()
Definition: vol_cml.cc:4024
Definition: venusvol.h:260
int ContainLocalFid()
Definition: local_cml.cc:1246
void Thaw() REQUIRES_TRANSACTION
Definition: vol_cml.cc:259
cmlent(ClientModifyLog *, time_t, uid_t, int, int...) REQUIRES_TRANSACTION
Definition: vol_cml.cc:540
struct cmlent::@5::@8 u_utimes
ViceReintHandle RHandle
Definition: venusvol.h:288
VenusFid SFid
Definition: venusvol.h:334
void GetAllFids(VenusFid *[3])
Definition: local_cml.cc:1170
friend int PathAltered(VenusFid *, char *, ClientModifyLog *, cmlent *)
Definition: vol_cml.cc:3165
VenusFid PFid
Definition: venusvol.h:313
struct cmlent::@5::@18 u_repair
unsigned long ReintTime(unsigned long bw)
Definition: vol_cml.cc:3927
struct cmlent::@5::@17 u_symlink
int GetReintegrationHandle() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:2863
int Aged()
Definition: vol_cml.cc:3908
void SetRepairFlag() EXCLUDES_TRANSACTION
Definition: local_cml.cc:1070
VenusFid SPFid
Definition: venusvol.h:332
void AttachFidBindings() REQUIRES_TRANSACTION
Definition: vol_cml.cc:3735
struct cmlent::@5::@13 u_link
struct cmlent::@5::@7 u_truncate
int DoneSending()
Definition: vol_cml.cc:2853
struct cmlent::@5::@14 u_rename
void SetRepairMutationFlag()
int DoRepair(char *, int) EXCLUDES_TRANSACTION
Definition: local_cml.cc:568
void pack(BUFFER *)
Definition: vol_cml.cc:2650
void abort() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:3679
VenusFid TPFid
Definition: venusvol.h:333
Date_t Date
Definition: venusvol.h:299
struct cmlent::@5::@6 u_store
int LinkCount
Definition: venusvol.h:321
ViceVersionVector TPVV
Definition: venusvol.h:336
int checkpoint(FILE *)
Definition: vol_cml.cc:3412
int IsToBeRepaired()
Definition: venusvol.h:444
void SetTid(int) EXCLUDES_TRANSACTION
Definition: local_cml.cc:1238
~cmlent() REQUIRES_TRANSACTION
Definition: vol_cml.cc:758
int ReintReady() EXCLUDES_TRANSACTION
Definition: vol_reintegrate.cc:688
int ValidateReintegrationHandle() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:2928
void print()
Definition: venusvol.h:425
ViceVersionVector PVV
Definition: venusvol.h:316
ViceVersionVector SPVV
Definition: venusvol.h:335
int IsFrozen()
Definition: venusvol.h:401
struct cmlent::@5::@16 u_rmdir
int WriteReintegrationHandle(unsigned long *reint_time) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:2976
int cancelstore() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:1823
int Freeze() REQUIRES_TRANSACTION
Definition: vol_cml.cc:228
void commit(ViceVersionVector *) REQUIRES_TRANSACTION
Definition: vol_cml.cc:2739
ViceVersionVector SVV
Definition: venusvol.h:337
int size()
Definition: vol_cml.cc:2639
void ClearReintegrationHandle() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:2840
int ReintPHix
Definition: venusvol.h:290
ViceVersionVector VV
Definition: venusvol.h:286
void GetLocalOpMsg(char *)
Definition: local_cml.cc:993
struct cmlent::@5::@12 u_remove
VenusFid CFid
Definition: venusvol.h:314
RPC2_Unsigned Length
Definition: venusvol.h:285
void TranslateFid(VenusFid *, VenusFid *)
ViceVersionVector OVV
Definition: venusvol.h:363
long bytes()
Definition: vol_cml.cc:804
int CloseReintegrationHandle(char *, int, ViceVersionVector *) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:3075
struct cmlent::@5::@9 u_chown
RPC2_Unsigned Mode
Definition: venusvol.h:309
int cancel() REQUIRES_TRANSACTION
Definition: vol_cml.cc:1573
struct cmlent::@5::@10 u_chmod
int IsReintegrating()
Definition: vol_cml.cc:3975
ViceVersionVector CVV
Definition: venusvol.h:323
void translatefid(VenusFid *, VenusFid *) REQUIRES_TRANSACTION
Definition: vol_cml.cc:2487
void GetVVandFids(ViceVersionVector *[3], VenusFid *[3])
Definition: local_cml.cc:1082
void ResetTransient()
Definition: vol_cml.cc:681
void DetachFidBindings() REQUIRES_TRANSACTION
Definition: vol_cml.cc:3764
void thread()
Definition: vol_cml.cc:2612
int HaveReintegrationHandle()
Definition: vol_cml.cc:2834
int realloc() EXCLUDES_TRANSACTION
Definition: vol_cml.cc:2432
struct cmlent::@5::@15 u_mkdir
void CheckRepair(char *, int *, int *) EXCLUDES_TRANSACTION
Definition: local_cml.cc:237
VenusFid Fid
Definition: venusvol.h:284
void writeops(FILE *)
Definition: vol_cml.cc:3834
struct cmlent::@5::@11 u_create
UserId Owner
Definition: venusvol.h:304
int GetTid()
Definition: venusvol.h:434
int IsExpanded()
Definition: venusvol.h:445
void getfids(VenusFid fid[3])
Definition: vol_cml.cc:3781
unsigned long ReintAmount(unsigned long *reint_time)
Definition: vol_cml.cc:3947
RPC2_Unsigned Offset
Definition: venusvol.h:287
struct in_addr ReintPH
Definition: venusvol.h:289
Definition: venusvol.h:114
cmlstats()
Definition: venusvol.h:122
int store_count
Definition: venusvol.h:116
float other_size
Definition: venusvol.h:120
int other_count
Definition: venusvol.h:119
void clear()
Definition: venusvol.h:124
float store_contents_size
Definition: venusvol.h:118
void operator+=(cmlstats &addend)
Definition: venusvol.h:133
float store_size
Definition: venusvol.h:117
Definition: venusvol.h:1061
Definition: venusvol.h:1035
int count()
Definition: olist.cc:170
Definition: rec_dlist.h:97
Definition: rec_dlist.h:85
Definition: rec_dlist.h:49
Definition: rec_ohash.h:85
Definition: rec_ohash.h:47
Definition: rec_olist.h:87
Definition: venusvol.h:1047
Definition: venusvol.h:739
int LastMLETime(unsigned long *)
Definition: vol_cml.cc:3355
int LogChown(time_t, uid_t, VenusFid *, UserId, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1092
int PartialReintegrate(int, unsigned long *reint_time) EXCLUDES_TRANSACTION
Definition: vol_reintegrate.cc:506
int asr_running()
Definition: venusvol.h:814
int IsASREnabled()
Definition: venusvol.h:811
int GetReintId() EXCLUDES_TRANSACTION
Definition: local_vol.cc:61
int IncReintegrate(int) EXCLUDES_TRANSACTION
Definition: vol_reintegrate.cc:289
ClientModifyLog * GetCML()
Definition: venusvol.h:785
int RecordsAborted
Definition: venusvol.h:765
int LogMkdir(time_t, uid_t, VenusFid *, char *, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1304
ClientModifyLog CML
Definition: venusvol.h:755
int GetVolAttr(uid_t) EXCLUDES_TRANSACTION
Definition: vol_vcb.cc:80
int reint_id_gen
Definition: venusvol.h:757
void PreserveLocalMutation(char *msg)
int LogStore(time_t, uid_t, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:981
int SyncCache(VenusFid *fid=NULL) EXCLUDES_TRANSACTION
Definition: venusvol.cc:1533
long LengthOfCML()
Definition: venusvol.h:780
int HaveCallBack()
Definition: venusvol.h:869
void Reintegrate() EXCLUDES_TRANSACTION
Definition: vol_reintegrate.cc:74
cmlent * reintegrate_done
Definition: venusvol.h:768
struct Lock CML_lock
Definition: venusvol.h:756
int ValidateFSOs() EXCLUDES_TRANSACTION
Definition: vol_vcb.cc:527
int WantCallBack()
Definition: vol_vcb.cc:620
int cur_reint_tid
Definition: venusvol.h:758
int LogRmdir(time_t, uid_t, VenusFid *, char *, const VenusFid *, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1316
FidRange SymlinkFids
Definition: venusvol.h:752
int IsSync(void)
Definition: venusvol.h:787
void UpdateVCBInfo(RPC2_Integer VS, CallBackStatus CBStatus) EXCLUDES_TRANSACTION
Definition: vol_vcb.cc:421
void SetCallBack()
Definition: vol_vcb.cc:615
int LogChmod(time_t, uid_t, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1120
void DiscardLocalMutation(char *msg)
int IsReintegrating()
Definition: venusvol.h:796
ViceVersionVector VVV
Definition: venusvol.h:773
int ReadyToReintegrate() EXCLUDES_TRANSACTION
Definition: vol_reintegrate.cc:636
int RecordsCommitted
Definition: venusvol.h:764
int LogLink(time_t, uid_t, VenusFid *, char *, VenusFid *, int prepend)
Definition: vol_cml.cc:1266
unsigned int AgeLimit
Definition: venusvol.h:761
FidRange FileFids
Definition: venusvol.h:750
int VCBHits
Definition: venusvol.h:772
void PreserveAllLocalMutation(char *msg)
friend long VENUS_CallBackFetch(RPC2_Handle, ViceFid *, SE_Descriptor *)
Definition: venuscb.cc:223
void ClearCallBack()
Definition: vol_vcb.cc:610
int RecordsCancelled
Definition: venusvol.h:763
int LogRename(time_t, uid_t, VenusFid *, char *, VenusFid *, char *, VenusFid *, const VenusFid *, int, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1278
void ReportVolState(void)
Definition: venusvol.cc:989
long BytesBackFetched
Definition: venusvol.h:767
int CheckPointMLEs(uid_t, char *) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:3293
int LogUtimes(time_t, uid_t, VenusFid *, Date_t, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1064
int WriteDisconnect(unsigned int age=V_UNSETAGE, unsigned int time=V_UNSETREINTLIMIT) EXCLUDES_TRANSACTION
Definition: venusvol.cc:1515
pid_t asr_pgid()
Definition: venusvol.h:816
int LogRepair(time_t, uid_t, VenusFid *, RPC2_Unsigned, Date_t, UserId, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1445
int LogSetAttr(time_t, uid_t, VenusFid *, RPC2_Unsigned, Date_t, UserId, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1023
int LogTruncate(time_t, uid_t, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1053
void IncAbort(int) EXCLUDES_TRANSACTION
Definition: local_vol.cc:41
int LogCreate(time_t, uid_t, VenusFid *, char *, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1156
FidRange DirFids
Definition: venusvol.h:751
int HaveStamp()
Definition: venusvol.h:879
int LogSymlink(time_t, uid_t, VenusFid *, char *, char *, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1432
int CallBackBreak() EXCLUDES_TRANSACTION
Definition: vol_vcb.cc:589
int PurgeMLEs(uid_t) EXCLUDES_TRANSACTION
Definition: vol_cml.cc:3309
void unlock_asr()
Definition: vol_repair.cc:1038
void ResetStats()
Definition: venusvol.h:781
int LogRemove(time_t, uid_t, VenusFid *, char *, const VenusFid *, int, int prepend) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1168
int GetConn(connent **c, uid_t uid, mgrpent **m, int *ph_ix, struct in_addr *phost) EXCLUDES_TRANSACTION
Definition: venusvol.cc:1865
int IsASRAllowed()
Definition: venusvol.h:810
int AllowASR(uid_t)
Definition: vol_repair.cc:1004
void DiscardAllLocalMutation(char *msg)
Definition: local_repair.cc:132
void lock_asr()
Definition: vol_repair.cc:1032
int DisallowASR(uid_t)
Definition: vol_repair.cc:1017
VenusFid GenerateLocalFid(ViceDataType) EXCLUDES_TRANSACTION
Definition: venusvol.cc:2446
void PackVS(int, RPC2_CountedBS *)
Definition: vol_vcb.cc:576
unsigned int ReintLimit
Definition: venusvol.h:760
void EnableASR(uid_t)
Definition: vol_repair.cc:977
int ContainUnrepairedCML()
Definition: local_vol.cc:49
int DisableASR(uid_t)
Definition: vol_repair.cc:988
int AllocFid(ViceDataType, VenusFid *, uid_t, int=0) EXCLUDES_TRANSACTION
Definition: venusvol.cc:2016
int FidsRealloced
Definition: venusvol.h:766
void ResetCMLTransients() EXCLUDES_TRANSACTION
Definition: venusvol.cc:1677
CallBackStatus VCBStatus
Definition: venusvol.h:771
Definition: venusvol.h:1029
Definition: venusvol.h:931
int COP2(mgrpent *, RPC2_CountedBS *) EXCLUDES_TRANSACTION
Definition: vol_COP2.cc:74
void UpMember(void)
Definition: venusvol.cc:1498
friend void VolInit(void)
Definition: venusvol.cc:174
int DisconnectedRepair(VenusFid *, char *, uid_t, VolumeId *, int *) EXCLUDES_TRANSACTION
Definition: vol_repair.cc:669
void Resolve() EXCLUDES_TRANSACTION
Definition: vol_resolve.cc:63
int Collate_COP2(mgrpent *, int)
Definition: venusvol.cc:2435
int IsHostedBy(const struct in_addr *addr)
Definition: venusvol.cc:2327
cop2ent * FindCOP2(ViceStoreId *)
Definition: vol_COP2.cc:251
int LocalRepair(fsobj *, ViceStatus *, char *fname, VenusFid *) REQUIRES_TRANSACTION
Definition: vol_repair.cc:911
int ConnectedRepair(VenusFid *, char *, uid_t, VolumeId *, int *) EXCLUDES_TRANSACTION
Definition: vol_repair.cc:150
int Collate_NonMutating(mgrpent *, int)
Definition: venusvol.cc:2409
int GetMgrp(mgrpent **, uid_t, RPC2_CountedBS *=0) EXCLUDES_TRANSACTION
Definition: venusvol.cc:1952
void RestoreObj(VenusFid *) REQUIRES_TRANSACTION
Definition: vol_cml.cc:1459
int RecResolve(connent *, VenusFid *)
void GetVids(VolumeId out[VSG_MEMBERS])
Definition: venusvol.cc:2313
void ResSubmit(char **, VenusFid *, resent **requeue=NULL)
Definition: vol_resolve.cc:179
friend long VENUS_CallBackFetch(RPC2_Handle, ViceFid *, SE_Descriptor *)
Definition: venuscb.cc:223
int ResListCount()
Definition: venusvol.h:1002
void AddCOP2(ViceStoreId *, ViceVersionVector *)
Definition: vol_COP2.cc:264
int AllocFid(ViceDataType, VenusFid *, uid_t, int=0) EXCLUDES_TRANSACTION
Definition: venusvol.cc:2152
int FlushCOP2(time_t=0) EXCLUDES_TRANSACTION
Definition: vol_COP2.cc:128
void DownMember(struct in_addr *host)
Definition: venusvol.cc:1456
void ClearCOP2(void)
Definition: vol_COP2.cc:299
void GetHosts(struct in_addr hosts[VSG_MEMBERS])
Definition: venusvol.cc:2289
void print_repvol(int)
Definition: venusvol.cc:2829
void Reconfigure(void)
Definition: venusvol.cc:420
void CollateVCB(mgrpent *, RPC2_Integer *, CallBackStatus *) EXCLUDES_TRANSACTION
Definition: vol_vcb.cc:460
int ResAwait(char *) EXCLUDES_TRANSACTION
Definition: vol_resolve.cc:230
int Collate_COP1(mgrpent *, int, ViceVersionVector *)
Definition: venusvol.cc:2420
void GetBandwidth(unsigned long *bw)
Definition: venusvol.cc:1993
int Collate_Reintegrate(mgrpent *, int, ViceVersionVector *)
Definition: venusvol.cc:2427
void GetCOP2(RPC2_CountedBS *)
Definition: vol_COP2.cc:222
int Repair(VenusFid *, char *, uid_t, VolumeId *, int *) EXCLUDES_TRANSACTION
Definition: vol_repair.cc:97
int AVSGsize()
Definition: venusvol.cc:2347
void SetStagingServer(struct in_addr *srvr) EXCLUDES_TRANSACTION
Definition: venusvol.cc:2363
Definition: venusvol.h:1087
Definition: venusvol.h:479
Definition: venusvol.h:1022
Definition: venusvol.h:620
int IsReachable()
Definition: venusvol.h:708
short observer_count
Definition: venusvol.h:664
rec_olink handle
Definition: venusvol.h:657
const char * GetName()
Definition: venusvol.h:718
void print()
Definition: venusvol.h:728
short mutator_count
Definition: venusvol.h:663
int GetVolStat(VolumeStatus *, RPC2_BoundedBS *, VolumeStateType *, unsigned int *age, unsigned int *hogtime, int *conflict, int *cml_size, uint64_t *cml_bytes, RPC2_BoundedBS *, RPC2_BoundedBS *, uid_t, int local_only) EXCLUDES_TRANSACTION
Definition: venusvol.cc:2502
void Wait() EXCLUDES_TRANSACTION
Definition: venusvol.cc:1556
Realm * realm
Definition: venusvol.h:651
int IsReadWrite()
Definition: venusvol.h:706
~volent() REQUIRES_TRANSACTION
Definition: venusvol.cc:902
RealmId GetRealmId()
Definition: venusvol.h:716
void GetVids(VolumeId out[VSG_MEMBERS])
Definition: venusvol.cc:2303
fsobj * NewFakeMountLinkObj(VenusFid *fid, const char *comp) REQUIRES_TRANSACTION
Instantiate a new fake mountlink object.
Definition: local_fake.cc:233
int IsBackup()
Definition: venusvol.h:702
char * name
Definition: venusvol.h:649
VolumeId GetVolumeId()
Definition: venusvol.h:717
int Collate(connent *, int code, int TranslateEINCOMP=1)
Definition: venusvol.cc:1746
int Enter(int, uid_t) EXCLUDES_TRANSACTION
Definition: venusvol.cc:1036
void ListCache(FILE *, int long_format=1, unsigned int valid=3)
Definition: venusvol.cc:2867
ViceVolumeType VolStatType(void)
Definition: venusvol.cc:2487
int SetVolStat(VolumeStatus *, RPC2_BoundedBS *, RPC2_BoundedBS *, RPC2_BoundedBS *, uid_t) EXCLUDES_TRANSACTION
Definition: venusvol.cc:2653
void Signal()
Definition: venusvol.cc:1581
VolumeId vid
Definition: venusvol.h:650
int IsRepairVol(void)
Definition: venusvol.h:723
int IsReadWriteReplica()
Definition: venusvol.cc:965
VenusFid GenerateFakeFid() REQUIRES_TRANSACTION
Definition: venusvol.cc:2466
struct dllist_head fso_list
Definition: venusvol.h:660
void GetMountPath(char *, int=1)
Definition: venusvol.cc:2774
int pgid
Definition: venusvol.h:667
int IsLocalRealm()
Definition: venusvol.h:710
int IsReplicated()
Definition: venusvol.h:703
void GetHosts(struct in_addr hosts[VSG_MEMBERS])
Definition: venusvol.cc:2279
friend class volent_iterator
Definition: venusvol.h:625
void GetBandwidth(unsigned long *bw)
Definition: venusvol.cc:1979
void TakeTransition() EXCLUDES_TRANSACTION
Definition: venusvol.cc:1363
VolFlags flags
Definition: venusvol.h:652
int TransitionPending()
Definition: venusvol.h:682
fsobj * NewFakeDirObj(const char *comp) REQUIRES_TRANSACTION
Instantiate a new fake directory object.
Definition: local_fake.cc:207
VolumeStateType state
Definition: venusvol.h:653
void release()
Definition: venusvol.cc:935
void ResetVolTransients()
Definition: venusvol.cc:869
int IsUnreachable()
Definition: venusvol.h:707
short resolver_count
Definition: venusvol.h:665
void Exit(int, uid_t) EXCLUDES_TRANSACTION
Definition: venusvol.cc:1256
short shrd_count
Definition: venusvol.h:666
int IsNonReplicated()
Definition: venusvol.cc:973
Unique_t FidUnique
Definition: venusvol.h:655
void hold()
Definition: venusvol.cc:930
int IsResolving()
Definition: venusvol.h:709
void UnLock(VolLockType)
Definition: venusvol.cc:1611
int AVSGsize()
Definition: venusvol.cc:2339
Definition: venusvol.h:1041
Definition: venusvol.h:885
void Host(struct in_addr *addr)
Definition: venusvol.h:919
friend void VolInit(void)
Definition: venusvol.cc:174
void GetBandwidth(unsigned long *bw)
Definition: venusvol.cc:1987
int IsAvailable()
Definition: venusvol.h:920
void DownMember(struct in_addr *host)
Definition: venusvol.cc:1433
int OnSameHost(const volrep *v)
Definition: venusvol.h:925
VolumeId ReplicatedVol()
Definition: venusvol.h:909
int IsReadWriteReplica()
Definition: venusvol.h:910
int GetConn(connent **, uid_t) EXCLUDES_TRANSACTION
Definition: venusvol.cc:1846
void print_volrep(int)
Definition: venusvol.cc:2823
void UpMember(void)
Definition: venusvol.cc:1473
int IsHostedBy(const struct in_addr *addr)
Definition: venusvol.h:921
int operator=(vproc &)
Definition: vproc.cc:457
#define CODA_ASSERT(pred)
Definition: coda_assert.h:22
int Create(long *, char *, long *)
#define REQUIRES_TRANSACTION
Definition: coda_tsa.h:107
#define EXCLUDES_TRANSACTION
Definition: coda_tsa.h:108
ViceVersionVector NullVV
Definition: dummy.cc:41
#define bytes(bits)
Definition: grunt.h:29
VV_Cmp_Result VV_Cmp(const ViceVersionVector *a, const ViceVersionVector *b)
Definition: inconsist.cc:80
@ VV_EQ
Definition: inconsist.h:39
stdout
Definition: volusage.py:12
list vollist
Definition: volusage.py:16
ViceStoreId sid
Definition: objlist.h:65
Realm * LocalRealm
Definition: realmdb.cc:24
command_t list[]
Definition: repair.cc:29
int32_t RPC2_Integer
Definition: rpc2.h:297
uint32_t RPC2_Unsigned
Definition: rpc2.h:300
RPC2_Integer RPC2_Handle
Definition: rpc2.h:345
RPC2_ByteSeq RPC2_String
Definition: rpc2.h:312
@ r
Definition: rvm_private.h:414
@ f
Definition: rvm_private.h:416
PROCESS parent
Definition: smon2.c:80
Definition: pack_helper.h:21
Definition: venusvol.h:241
unsigned committed
Definition: venusvol.h:247
unsigned to_be_repaired
Definition: venusvol.h:242
unsigned failed
Definition: venusvol.h:246
unsigned cancellation_pending
Definition: venusvol.h:245
unsigned unused
Definition: venusvol.h:243
unsigned frozen
Definition: venusvol.h:244
unsigned prepended
Definition: venusvol.h:248
unsigned reserved
Definition: venusvol.h:249
Definition: venusvol.h:598
unsigned long Unused
Definition: venusvol.h:599
FidRange()
Definition: venusvol.h:601
Definition: venusfid.h:24
Definition: venusvol.h:568
unsigned unused5
Definition: venusvol.h:588
unsigned transition_pending
Definition: venusvol.h:570
unsigned demotion_pending
Definition: venusvol.h:571
unsigned readonly
Definition: venusvol.h:585
unsigned unused1
Definition: venusvol.h:572
unsigned allow_asrinvocation
Definition: venusvol.h:573
unsigned asr_running
Definition: venusvol.h:574
unsigned reintegrating
Definition: venusvol.h:579
unsigned enable_asrinvocation
Definition: venusvol.h:586
unsigned unused4
Definition: venusvol.h:584
unsigned unauthenticated
Definition: venusvol.h:592
unsigned reint_conflict
Definition: venusvol.h:589
unsigned unused2
Definition: venusvol.h:578
unsigned resolve_me
Definition: venusvol.h:581
unsigned unused3
Definition: venusvol.h:582
unsigned replicated
Definition: venusvol.h:569
unsigned available
Definition: venusvol.h:587
unsigned has_local_subtree
Definition: venusvol.h:576
unsigned repair_mode
Definition: venusvol.h:580
unsigned sync_reintegrate
Definition: venusvol.h:583
Definition: venusfid.h:31
dlink * Find(int priority, uid_t uid)
Definition: tallyent.cc:140
char c
Definition: tdb.c:54
#define FakeRepairVolumeId
Definition: venusfid.h:97
void RecovInit(void)
Definition: venusrecov.cc:227
const int MLENTMaxFreeEntries
Definition: venusvol.h:95
int PathAltered(VenusFid *, char *, ClientModifyLog *, cmlent *)
Definition: vol_cml.cc:3165
const int UNSET_TID
Definition: venusvol.h:97
VenusVolType
Definition: venusvol.h:611
@ ReplicatedVolume
Definition: venusvol.h:612
@ VolumeReplica
Definition: venusvol.h:613
char VCBEnabled
Definition: vol_vcb.cc:55
const int VDB_NBUCKETS
Definition: venusvol.h:92
const int VOLENT_MagicNumber
Definition: venusvol.h:93
const int MLENT_MagicNumber
Definition: venusvol.h:94
void VolInitPost(void)
Definition: venusvol.cc:266
void VolDaemon(void) EXCLUDES_TRANSACTION
Definition: vol_daemon.cc:69
int default_reintegration_time
Definition: venusvol.cc:171
VolumeStateType
Definition: venusvol.h:558
@ Unreachable
Definition: venusvol.h:559
@ Reachable
Definition: venusvol.h:560
@ Resolving
Definition: venusvol.h:561
int vcbbreaks
Definition: vol_vcb.cc:54
void VOLD_Init(void)
Definition: vol_daemon.cc:64
void VolInit(void) EXCLUDES_TRANSACTION
Definition: venusvol.cc:174
#define CmlIterOrder
Definition: venusvol.h:450
const unsigned V_UNSETAGE
Definition: venusvol.h:99
int LogOpts
Definition: vol_cml.cc:79
void RecoverPathName(char *, VenusFid *, ClientModifyLog *, cmlent *)
Definition: vol_cml.cc:3223
int allow_backfetch
Definition: vol_cml.cc:80
void TrickleReintegrate() EXCLUDES_TRANSACTION
Definition: vol_daemon.cc:237
const unsigned int COP2SIZE
Definition: venusvol.h:1135
#define CommitOrder
Definition: venusvol.h:451
int default_reintegration_age
Definition: venusvol.cc:170
const unsigned V_UNSETREINTLIMIT
Definition: venusvol.h:100
char voldaemon_sync
Definition: vol_daemon.cc:62
const int VDB_MagicNumber
Definition: venusvol.h:91
int MLEs
Definition: venusvol.cc:159
VolLockType
Definition: venusvol.h:83
@ SH_VOL_LK
Definition: venusvol.h:85
@ EX_VOL_LK
Definition: venusvol.h:84
#define NULL
Definition: voltypes.h:44