Coda Distributed File System
Public Member Functions | Friends | List of all members
repvol Class Reference

#include <venusvol.h>

Inheritance diagram for repvol:
Inheritance graph
[legend]
Collaboration diagram for repvol:
Collaboration graph
[legend]

Public Member Functions

int GetMgrp (mgrpent **, uid_t, RPC2_CountedBS *=0) EXCLUDES_TRANSACTION
 
void GetBandwidth (unsigned long *bw)
 
void DownMember (struct in_addr *host)
 
void UpMember (void)
 
int Collate_NonMutating (mgrpent *, int)
 
int Collate_COP1 (mgrpent *, int, ViceVersionVector *)
 
int Collate_Reintegrate (mgrpent *, int, ViceVersionVector *)
 
int Collate_COP2 (mgrpent *, int)
 
int AllocFid (ViceDataType, VenusFid *, uid_t, int=0) EXCLUDES_TRANSACTION
 
void GetHosts (struct in_addr hosts[VSG_MEMBERS])
 
void GetVids (VolumeId out[VSG_MEMBERS])
 
int AVSGsize ()
 
int IsHostedBy (const struct in_addr *addr)
 
void SetStagingServer (struct in_addr *srvr) EXCLUDES_TRANSACTION
 
void Reconfigure (void)
 
void RestoreObj (VenusFid *) REQUIRES_TRANSACTION
 
int Repair (VenusFid *, char *, uid_t, VolumeId *, int *) EXCLUDES_TRANSACTION
 
int ConnectedRepair (VenusFid *, char *, uid_t, VolumeId *, int *) EXCLUDES_TRANSACTION
 
int DisconnectedRepair (VenusFid *, char *, uid_t, VolumeId *, int *) EXCLUDES_TRANSACTION
 
int LocalRepair (fsobj *, ViceStatus *, char *fname, VenusFid *) REQUIRES_TRANSACTION
 
void Resolve () EXCLUDES_TRANSACTION
 
void ResSubmit (char **, VenusFid *, resent **requeue=NULL)
 
int ResAwait (char *) EXCLUDES_TRANSACTION
 
int RecResolve (connent *, VenusFid *)
 
int ResListCount ()
 
int COP2 (mgrpent *, RPC2_CountedBS *) EXCLUDES_TRANSACTION
 
int COP2 (mgrpent *, ViceStoreId *, ViceVersionVector *, int donotpiggy=0) EXCLUDES_TRANSACTION
 
int FlushCOP2 (time_t=0) EXCLUDES_TRANSACTION
 
int FlushCOP2 (mgrpent *, RPC2_CountedBS *) EXCLUDES_TRANSACTION
 
void GetCOP2 (RPC2_CountedBS *)
 
cop2entFindCOP2 (ViceStoreId *)
 
void AddCOP2 (ViceStoreId *, ViceVersionVector *)
 
void ClearCOP2 (RPC2_CountedBS *)
 
void ClearCOP2 (void)
 
void CollateVCB (mgrpent *, RPC2_Integer *, CallBackStatus *) EXCLUDES_TRANSACTION
 
void print_repvol (int)
 
- Public Member Functions inherited from reintvol
 reintvol (Realm *r, VolumeId volid, const char *volname)
 
long LengthOfCML ()
 
void ResetStats ()
 
void ClearRepairCML ()
 
ClientModifyLogGetCML ()
 
int ContainUnrepairedCML ()
 
int IsSync (void)
 
int WriteDisconnect (unsigned int age=V_UNSETAGE, unsigned int time=V_UNSETREINTLIMIT) EXCLUDES_TRANSACTION
 
void Reintegrate () EXCLUDES_TRANSACTION
 
int IncReintegrate (int) EXCLUDES_TRANSACTION
 
int PartialReintegrate (int, unsigned long *reint_time) EXCLUDES_TRANSACTION
 
int IsReintegrating ()
 
int ReadyToReintegrate () EXCLUDES_TRANSACTION
 
int GetReintId () EXCLUDES_TRANSACTION
 
void CheckTransition ()
 
void IncAbort (int) EXCLUDES_TRANSACTION
 
int SyncCache (VenusFid *fid=NULL) EXCLUDES_TRANSACTION
 
void ReportVolState (void)
 
int AllowASR (uid_t)
 
int DisallowASR (uid_t)
 
void EnableASR (uid_t)
 
int DisableASR (uid_t)
 
int IsASRAllowed ()
 
int IsASREnabled ()
 
void lock_asr ()
 
void unlock_asr ()
 
int asr_running ()
 
void asr_pgid (pid_t new_pgid)
 
pid_t asr_pgid ()
 
int AllocFid (ViceDataType, VenusFid *, uid_t, int=0) EXCLUDES_TRANSACTION
 
VenusFid GenerateLocalFid (ViceDataType) EXCLUDES_TRANSACTION
 
int GetConn (connent **c, uid_t uid, mgrpent **m, int *ph_ix, struct in_addr *phost) EXCLUDES_TRANSACTION
 
int LogStore (time_t, uid_t, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int LogSetAttr (time_t, uid_t, VenusFid *, RPC2_Unsigned, Date_t, UserId, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int LogTruncate (time_t, uid_t, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int LogUtimes (time_t, uid_t, VenusFid *, Date_t, int prepend) REQUIRES_TRANSACTION
 
int LogChown (time_t, uid_t, VenusFid *, UserId, int prepend) REQUIRES_TRANSACTION
 
int LogChmod (time_t, uid_t, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int LogCreate (time_t, uid_t, VenusFid *, char *, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int LogRemove (time_t, uid_t, VenusFid *, char *, const VenusFid *, int, int prepend) REQUIRES_TRANSACTION
 
int LogLink (time_t, uid_t, VenusFid *, char *, VenusFid *, int prepend)
 
int LogRename (time_t, uid_t, VenusFid *, char *, VenusFid *, char *, VenusFid *, const VenusFid *, int, int prepend) REQUIRES_TRANSACTION
 
int LogMkdir (time_t, uid_t, VenusFid *, char *, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int LogRmdir (time_t, uid_t, VenusFid *, char *, const VenusFid *, int prepend) REQUIRES_TRANSACTION
 
int LogSymlink (time_t, uid_t, VenusFid *, char *, char *, VenusFid *, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int LogRepair (time_t, uid_t, VenusFid *, RPC2_Unsigned, Date_t, UserId, RPC2_Unsigned, int prepend) REQUIRES_TRANSACTION
 
int CheckPointMLEs (uid_t, char *) EXCLUDES_TRANSACTION
 
int LastMLETime (unsigned long *)
 
int PurgeMLEs (uid_t) EXCLUDES_TRANSACTION
 
void ListCML (FILE *fp)
 
void PreserveAllLocalMutation (char *msg)
 
void PreserveLocalMutation (char *msg)
 
void DiscardAllLocalMutation (char *msg)
 
void DiscardLocalMutation (char *msg)
 
int HaveCallBack ()
 
int CallBackBreak () EXCLUDES_TRANSACTION
 
void ClearCallBack ()
 
void SetCallBack ()
 
int WantCallBack ()
 
int ValidateFSOs () EXCLUDES_TRANSACTION
 
int GetVolAttr (uid_t) EXCLUDES_TRANSACTION
 
void UpdateVCBInfo (RPC2_Integer VS, CallBackStatus CBStatus) EXCLUDES_TRANSACTION
 
void PackVS (int, RPC2_CountedBS *)
 
int HaveStamp ()
 
- Public Member Functions inherited from volent
void hold ()
 
void release ()
 
int Enter (int, uid_t) EXCLUDES_TRANSACTION
 
void Exit (int, uid_t) EXCLUDES_TRANSACTION
 
void TakeTransition () EXCLUDES_TRANSACTION
 
int TransitionPending ()
 
void Wait () EXCLUDES_TRANSACTION
 
void Signal ()
 
void Lock (VolLockType, int=0) EXCLUDES_TRANSACTION
 
void UnLock (VolLockType)
 
int Collate (connent *, int code, int TranslateEINCOMP=1)
 
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
 
int SetVolStat (VolumeStatus *, RPC2_BoundedBS *, RPC2_BoundedBS *, RPC2_BoundedBS *, uid_t) EXCLUDES_TRANSACTION
 
void GetHosts (struct in_addr hosts[VSG_MEMBERS])
 
void GetVids (VolumeId out[VSG_MEMBERS])
 
int AVSGsize ()
 
int IsBackup ()
 
int IsReplicated ()
 
int IsReadWriteReplica ()
 
int IsNonReplicated ()
 
int IsReadWrite ()
 
int IsUnreachable ()
 
int IsReachable ()
 
int IsResolving ()
 
int IsLocalRealm ()
 
void GetMountPath (char *, int=1)
 
void GetBandwidth (unsigned long *bw)
 
VenusFid GenerateFakeFid () REQUIRES_TRANSACTION
 
RealmId GetRealmId ()
 
VolumeId GetVolumeId ()
 
const char * GetName ()
 
fsobjNewFakeDirObj (const char *comp) REQUIRES_TRANSACTION
 Instantiate a new fake directory object. More...
 
fsobjNewFakeMountLinkObj (VenusFid *fid, const char *comp) REQUIRES_TRANSACTION
 Instantiate a new fake mountlink object. More...
 
int IsRepairVol (void)
 
void print ()
 
void print (FILE *fp)
 
void print (int)
 
void ListCache (FILE *, int long_format=1, unsigned int valid=3)
 

Friends

class cmlent
 
class fsobj
 
class reintvol
 
class vdb
 
class volent
 
long VENUS_CallBackFetch (RPC2_Handle, ViceFid *, SE_Descriptor *)
 
void Resolve (volent *)
 
void Reintegrate (reintvol *)
 
void VolInit (void)
 

Additional Inherited Members

- Protected Member Functions inherited from reintvol
void ResetCMLTransients () EXCLUDES_TRANSACTION
 
- Protected Member Functions inherited from volent
void operator delete (void *) REQUIRES_TRANSACTION
 
 volent (Realm *r, VolumeId vid, const char *name) REQUIRES_TRANSACTION
 
 ~volent () REQUIRES_TRANSACTION
 
void ResetVolTransients ()
 
ViceVolumeType VolStatType (void)
 
- Protected Attributes inherited from reintvol
FidRange FileFids
 
FidRange DirFids
 
FidRange SymlinkFids
 
ClientModifyLog CML
 
struct Lock CML_lock
 
int reint_id_gen
 
int cur_reint_tid
 
unsigned int ReintLimit
 
unsigned int AgeLimit
 
int RecordsCancelled
 
int RecordsCommitted
 
int RecordsAborted
 
int FidsRealloced
 
long BytesBackFetched
 
cmlentreintegrate_done
 
CallBackStatus VCBStatus
 
int VCBHits
 
ViceVersionVector VVV
 
- Protected Attributes inherited from volent
char * name
 
VolumeId vid
 
Realmrealm
 
VolFlags flags
 
VolumeStateType state
 
Unique_t FidUnique
 
rec_olink handle
 
struct dllist_head fso_list
 
short mutator_count
 
short observer_count
 
short resolver_count
 
short shrd_count
 
int pgid
 

Member Function Documentation

◆ AddCOP2()

void repvol::AddCOP2 ( ViceStoreId *  StoreId,
ViceVersionVector *  VV 
)

◆ AllocFid()

int repvol::AllocFid ( ViceDataType  Type,
VenusFid target_fid,
uid_t  uid,
int  force = 0 
)

◆ AVSGsize()

int repvol::AVSGsize ( void  )

◆ ClearCOP2() [1/2]

void repvol::ClearCOP2 ( RPC2_CountedBS BS)

◆ ClearCOP2() [2/2]

void repvol::ClearCOP2 ( void  )

◆ Collate_COP1()

int repvol::Collate_COP1 ( mgrpent m,
int  code,
ViceVersionVector *  UpdateSet 
)

◆ Collate_COP2()

int repvol::Collate_COP2 ( mgrpent m,
int  code 
)

◆ Collate_NonMutating()

int repvol::Collate_NonMutating ( mgrpent m,
int  code 
)

◆ Collate_Reintegrate()

int repvol::Collate_Reintegrate ( mgrpent m,
int  code,
ViceVersionVector *  UpdateSet 
)

◆ CollateVCB()

void repvol::CollateVCB ( mgrpent m,
RPC2_Integer sbufs,
CallBackStatus *  cbufs 
)

◆ ConnectedRepair()

int repvol::ConnectedRepair ( VenusFid RepairFid,
char *  RepairFile,
uid_t  uid,
VolumeId *  RWVols,
int *  ReturnCodes 
)

◆ COP2() [1/2]

int repvol::COP2 ( mgrpent m,
RPC2_CountedBS PiggyBS 
)

◆ COP2() [2/2]

int repvol::COP2 ( mgrpent m,
ViceStoreId *  StoreId,
ViceVersionVector *  UpdateSet,
int  donotpiggy = 0 
)

◆ DisconnectedRepair()

int repvol::DisconnectedRepair ( VenusFid RepairFid,
char *  RepairFile,
uid_t  uid,
VolumeId *  RWVols,
int *  ReturnCodes 
)

◆ DownMember()

void repvol::DownMember ( struct in_addr *  host)

◆ FindCOP2()

cop2ent * repvol::FindCOP2 ( ViceStoreId *  StoreId)

◆ FlushCOP2() [1/2]

int repvol::FlushCOP2 ( mgrpent m,
RPC2_CountedBS PiggyBS 
)

◆ FlushCOP2() [2/2]

int repvol::FlushCOP2 ( time_t  window = 0)

◆ GetBandwidth()

void repvol::GetBandwidth ( unsigned long *  bw)

◆ GetCOP2()

void repvol::GetCOP2 ( RPC2_CountedBS BS)

◆ GetHosts()

void repvol::GetHosts ( struct in_addr  hosts[VSG_MEMBERS])

◆ GetMgrp()

int repvol::GetMgrp ( mgrpent **  m,
uid_t  uid,
RPC2_CountedBS PiggyBS = 0 
)

◆ GetVids()

void repvol::GetVids ( VolumeId  out[VSG_MEMBERS])

◆ IsHostedBy()

int repvol::IsHostedBy ( const struct in_addr *  addr)

◆ LocalRepair()

int repvol::LocalRepair ( fsobj f,
ViceStatus *  status,
char *  fname,
VenusFid pfid 
)

◆ print_repvol()

void repvol::print_repvol ( int  afd)

◆ Reconfigure()

void repvol::Reconfigure ( void  )

◆ RecResolve()

int repvol::RecResolve ( connent ,
VenusFid  
)

◆ Repair()

int repvol::Repair ( VenusFid RepairFid,
char *  RepairFile,
uid_t  uid,
VolumeId *  RWVols,
int *  ReturnCodes 
)

◆ ResAwait()

int repvol::ResAwait ( char *  waitblk)

◆ ResListCount()

int repvol::ResListCount ( )
inline

◆ Resolve()

void repvol::Resolve ( )

◆ ResSubmit()

void repvol::ResSubmit ( char **  waitblkp,
VenusFid fid,
resent **  requeue = NULL 
)

◆ RestoreObj()

void repvol::RestoreObj ( VenusFid Fid)

◆ SetStagingServer()

void repvol::SetStagingServer ( struct in_addr *  srvr)

◆ UpMember()

void repvol::UpMember ( void  )

Friends And Related Function Documentation

◆ cmlent

friend class cmlent
friend

◆ fsobj

friend class fsobj
friend

◆ Reintegrate

void Reintegrate ( reintvol v)
friend

◆ reintvol

friend class reintvol
friend

◆ Resolve

void Resolve ( volent v)
friend

◆ vdb

friend class vdb
friend

◆ VENUS_CallBackFetch

long VENUS_CallBackFetch ( RPC2_Handle  RPCid,
ViceFid *  Fid,
SE_Descriptor BD 
)
friend

◆ volent

friend class volent
friend

◆ VolInit

void VolInit ( void  )
friend

The documentation for this class was generated from the following files: