Coda Distributed File System
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
volent Class Reference

#include <venusvol.h>

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

Public Member Functions

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)
 

Protected Member Functions

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

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
 

Friends

class fsdb
 
class fsobj
 
class userent
 
class vdb
 
class volent_iterator
 
class vproc
 

Constructor & Destructor Documentation

◆ volent()

volent::volent ( Realm r,
VolumeId  vid,
const char *  name 
)
protected

◆ ~volent()

volent::~volent ( )
protected

Member Function Documentation

◆ AVSGsize()

int volent::AVSGsize ( void  )

◆ Collate()

int volent::Collate ( connent c,
int  code,
int  TranslateEINCOMP = 1 
)

◆ Enter()

int volent::Enter ( int  mode,
uid_t  uid 
)

◆ Exit()

void volent::Exit ( int  mode,
uid_t  uid 
)

◆ GenerateFakeFid()

VenusFid volent::GenerateFakeFid ( )

◆ GetBandwidth()

void volent::GetBandwidth ( unsigned long *  bw)

◆ GetHosts()

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

◆ GetMountPath()

void volent::GetMountPath ( char *  buf,
int  ok_to_assert = 1 
)

◆ GetName()

const char * volent::GetName ( )
inline

◆ GetRealmId()

RealmId volent::GetRealmId ( )
inline

◆ GetVids()

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

◆ GetVolStat()

int volent::GetVolStat ( VolumeStatus *  volstat,
RPC2_BoundedBS Name,
VolumeStateType conn_state,
unsigned int *  age,
unsigned int *  hogtime,
int *  conflict,
int *  cml_size,
uint64_t *  cml_bytes,
RPC2_BoundedBS msg,
RPC2_BoundedBS motd,
uid_t  uid,
int  local_only 
)

◆ GetVolumeId()

VolumeId volent::GetVolumeId ( )
inline

◆ hold()

void volent::hold ( void  )

◆ IsBackup()

int volent::IsBackup ( )
inline

◆ IsLocalRealm()

int volent::IsLocalRealm ( )
inline

◆ IsNonReplicated()

int volent::IsNonReplicated ( )

◆ IsReachable()

int volent::IsReachable ( )
inline

◆ IsReadWrite()

int volent::IsReadWrite ( )
inline

◆ IsReadWriteReplica()

int volent::IsReadWriteReplica ( )

◆ IsRepairVol()

int volent::IsRepairVol ( void  )
inline

◆ IsReplicated()

int volent::IsReplicated ( )
inline

◆ IsResolving()

int volent::IsResolving ( )
inline

◆ IsUnreachable()

int volent::IsUnreachable ( )
inline

◆ ListCache()

void volent::ListCache ( FILE *  fp,
int  long_format = 1,
unsigned int  valid = 3 
)

◆ Lock()

void volent::Lock ( VolLockType  l,
int  pgid = 0 
)

◆ NewFakeDirObj()

fsobj * volent::NewFakeDirObj ( const char *  comp)

Instantiate a new fake directory object.

◆ NewFakeMountLinkObj()

fsobj * volent::NewFakeMountLinkObj ( VenusFid fid,
const char *  comp 
)

Instantiate a new fake mountlink object.

◆ operator delete()

void volent::operator delete ( void *  deadobj)
protected

◆ print() [1/3]

void volent::print ( void  )
inline

◆ print() [2/3]

void volent::print ( FILE *  fp)
inline

◆ print() [3/3]

void volent::print ( int  afd)

◆ release()

void volent::release ( void  )

◆ ResetVolTransients()

void volent::ResetVolTransients ( )
protected

◆ SetVolStat()

int volent::SetVolStat ( VolumeStatus *  volstat,
RPC2_BoundedBS Name,
RPC2_BoundedBS msg,
RPC2_BoundedBS motd,
uid_t  uid 
)

◆ Signal()

void volent::Signal ( )

◆ TakeTransition()

void volent::TakeTransition ( )

◆ TransitionPending()

int volent::TransitionPending ( )
inline

◆ UnLock()

void volent::UnLock ( VolLockType  l)

◆ VolStatType()

ViceVolumeType volent::VolStatType ( void  )
protected

◆ Wait()

void volent::Wait ( )

Friends And Related Function Documentation

◆ fsdb

friend class fsdb
friend

◆ fsobj

friend class fsobj
friend

◆ userent

friend class userent
friend

◆ vdb

friend class vdb
friend

◆ volent_iterator

friend class volent_iterator
friend

◆ vproc

friend class vproc
friend

Member Data Documentation

◆ FidUnique

Unique_t volent::FidUnique
protected

◆ flags

VolFlags volent::flags
protected

◆ fso_list

struct dllist_head volent::fso_list
protected

◆ handle

rec_olink volent::handle
protected

◆ mutator_count

short volent::mutator_count
protected

◆ name

char* volent::name
protected

◆ observer_count

short volent::observer_count
protected

◆ pgid

int volent::pgid
protected

◆ realm

Realm* volent::realm
protected

◆ resolver_count

short volent::resolver_count
protected

◆ shrd_count

short volent::shrd_count
protected

◆ state

VolumeStateType volent::state
protected

◆ vid

VolumeId volent::vid
protected

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