Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

VDirChangeable Class Reference

#include <VDirChangeable.H>

Inheritance diagram for VDirChangeable:

VestaSource VestaAttribs VRErrorCode List of all members.

Public Types

enum  { defaultRepSize = 512 }

Public Member Functions

void resync (AccessControl::Identity who=NULL) throw ()
ShortId shortId () throw ()
VestaSource::errorCode setTimestamp (time_t ts, AccessControl::Identity who=NULL) throw ()
VestaSource::errorCode lookup (Arc arc, VestaSource *&result, AccessControl::Identity who=NULL, unsigned int indexOffset=0) throw ()
VestaSource::errorCode reallyDelete (Arc arc, AccessControl::Identity who=NULL, bool existCheck=true, time_t timestamp=0) throw ()
VestaSource::errorCode insertFile (Arc arc, ShortId sid, bool mast, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, VestaSource **newvs=NULL, time_t timestamp=0, FP::Tag *fptag=NULL) throw ()
VestaSource::errorCode insertMutableFile (Arc arc, ShortId sid, bool mast, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, VestaSource **newvs=NULL, time_t timestamp=0) throw ()
VestaSource::errorCode insertImmutableDirectory (Arc arc, VestaSource *dir, bool mast, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, VestaSource **newvs=NULL, time_t timestamp=0, FP::Tag *fptag=NULL) throw ()
VestaSource::errorCode insertAppendableDirectory (Arc arc, bool mast, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, VestaSource **newvs=NULL, time_t timestamp=0) throw ()
VestaSource::errorCode insertMutableDirectory (Arc arc, VestaSource *dir, bool mast, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, VestaSource **newvs=NULL, time_t timestamp=0) throw ()
VestaSource::errorCode insertGhost (Arc arc, bool mast, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, VestaSource **newvs=NULL, time_t timestamp=0) throw ()
VestaSource::errorCode insertStub (Arc arc, bool mast, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, VestaSource **newvs=NULL, time_t timestamp=0) throw ()
VestaSource::errorCode renameTo (Arc arc, VestaSource *fromDir, Arc fromArc, AccessControl::Identity who=NULL, VestaSource::dupeCheck chk=VestaSource::dontReplace, time_t timestamp=0) throw ()
VestaSource::errorCode getBase (VestaSource *&result, AccessControl::Identity who=NULL) throw ()
VestaSource::errorCode list (unsigned int firstIndex, VestaSource::listCallback callback, void *closure, AccessControl::Identity who=NULL, bool deltaOnly=false, unsigned int indexOffset=0) throw ()
VestaSource::errorCode lookupIndex (unsigned int index, VestaSource *&result, char *arcbuf=NULL) throw ()
VestaSource::errorCode makeIndexMutable (unsigned int index, VestaSource *&result, ShortId sid=NullShortId, Basics::uint64 copyMax=(Basics::uint64)-1, AccessControl::Identity who=NULL) throw ()
void makeIndexImmutable (unsigned int index, const FP::Tag *fptag=NULL, ShortId newsid=NullShortId) throw ()
int getRefCount (ShortId sid, int default_count=0)
VestaSource::errorCode copyIndexToMutable (unsigned int index, VestaSource *&result, AccessControl::Identity who=NULL) throw ()
errorCode setIndexMaster (unsigned int index, bool state, AccessControl::Identity who=NULL) throw ()
void mark (bool byName=true, ArcTable *hidden=NULL) throw ()
Bit32 checkpoint (Bit32 &nextSP, std::fstream &ckpt) throw ()
void freeTree () throw ()
errorCode measureDirectory (directoryStats &result, AccessControl::Identity who=NULL) throw (SRPC::failure)
errorCode collapseBase (AccessControl::Identity who=NULL) throw (SRPC::failure)
 VDirChangeable (VestaSource::typeTag type, int size=defaultRepSize, ShortIdRefCount *sidref=NULL) throw ()
 VDirChangeable (VestaSource::typeTag type, Bit8 *existingRep, ShortIdRefCount *sidref=NULL) throw ()
void buildMutableSidref () throw ()
void checkMutableSidref (bool correct=false) throw ()
virtual VestaSourcecopy () throw ()
bool hasName () throw ()
void setHasName (bool newval) throw ()
bool visited () throw ()
void setVisited (bool newval) throw ()
time_t timestamp () throw ()

Static Public Member Functions

static void markCallback (void *closure, VMemPool::typeCode type) throw ()
static bool sweepCallback (void *closure, VMemPool::typeCode type, void *addr, Bit32 &size) throw ()
static void rebuildCallback (void *closure, VMemPool::typeCode type, void *addr, Bit32 &size) throw ()
static void printStats () throw ()

Private Types

enum  { isNeither = 0, isMore = 1, isBase = 2 }

Private Member Functions

bool hasName (Bit8 *repb) throw ()
void setHasName (Bit8 *repb, bool newval) throw ()
bool visited (Bit8 *repb) throw ()
void setVisited (Bit8 *repb, bool newval) throw ()
void setTimestampField (Bit32 newval) throw ()
Bit32 getID () throw ()
void setID (Bit32 newval) throw ()
FP::Tag fptag () throw ()
void setFPTag (const FP::Tag &newfptag) throw ()
Bit32 snapshot () throw ()
void setSnapshot (Bit32 newval) throw ()
Bit8firstEntry (Bit8 *repb) throw ()
Bit8attribAddr (Bit8 *entry) throw ()
void fillCaches () throw ()
Bit8repEnd () throw ()
unsigned int nextRawIndex () throw ()
Bit8base () throw ()
Bit8lastRepBlock () throw ()
int totalRepSize () throw ()
Bit32 freeLen () throw ()
void setFreeLen (Bit32 newval) throw ()
Bit8findArc (const char *arc, unsigned int &rawIndex, bool includeDeleted=false, bool includeOutdated=false) throw ()
Bit8findRawIndex (unsigned int rawIndex, Bit8 *&repBlock) throw ()
Bit8appendEntry (bool mast, bool sameAsBase, VestaSource::typeTag type, Bit32 value, Bit32 attrib, const FP::Tag *efptag, const char *arc, int arcLen) throw ()
VestaSource::errorCode insertCommon (Arc arc, bool mast, VestaSource::typeTag newtype, AccessControl::Identity who, VestaSource::dupeCheck chk, const char **setOwner, ShortId *delsid, Bit32 *attribs=NULL) throw ()
VDirChangeablecopyMutableToImmutable (const FP::Tag &fptag) throw ()
VDirChangeablecollapse (unsigned int newSize=defaultRepSize) throw ()
ShortIdRefCountrebuildMutableSidref () throw ()

Static Private Member Functions

static int isMoreOrBase (Bit8 *repb) throw ()
static void setIsMoreOrBase (Bit8 *repb, int newval) throw ()
static Bit32 moreOrBase (Bit8 *repb) throw ()
static void setMoreOrBase (Bit8 *repb, Bit32 newval) throw ()
static Bit8nextEntry (Bit8 *entry) throw ()
static bool isEndMark (Bit8 *entry) throw ()
static bool masterFlag (Bit8 *entry) throw ()
static void setMasterFlag (Bit8 *entry, bool newval) throw ()
static bool inUse (Bit8 *entry) throw ()
static void setInUse (Bit8 *entry, bool newval) throw ()
static bool hasEFPTag (Bit8 *entry) throw ()
static void setHasEFPTag (Bit8 *entry, bool newval) throw ()
static bool sameAsBase (Bit8 *entry) throw ()
static void setSameAsBase (Bit8 *entry, bool newval) throw ()
static VestaSource::typeTag type (Bit8 *entry) throw ()
static void setType (Bit8 *entry, VestaSource::typeTag type) throw ()
static Bit32 value (Bit8 *entry) throw ()
static void setValue (Bit8 *entry, Bit32 value) throw ()
static Bit32 attrib (Bit8 *entry) throw ()
static void setAttrib (Bit8 *entry, Bit32 attrib) throw ()
static FP::Tag efptag (Bit8 *entry) throw ()
static void setEFPTag (Bit8 *entry, const FP::Tag &newfptag) throw ()
static int arcLen (Bit8 *entry) throw ()
static char * arc (Bit8 *entry) throw ()
static void setEntry (Bit8 *entry, bool mast, bool sameAsBase, VestaSource::typeTag type, Bit32 value, Bit32 attrib, const FP::Tag *efptag) throw ()

Private Attributes

Bit8repEndCache
unsigned int nextRawIndexCache
Bit8baseCache
Bit8lastRepBlockCache
int totalRepSizeCache
ShortIdRefCountsidref

Friends

bool filterListCallback (void *closure, typeTag type, Arc arc, unsigned int index, unsigned int pseudoInode, bool mast) throw ()
VestaSource::errorCode VDirVolatileRoot::createVolatileDirectory (char *hostname, char *port, Bit64 handle, VestaSource *&result, time_t timestamp, LongId::lockKindTag lockKind, ReadersWritersLock **lock, bool readOnlyExisting) throw ()
VestaSource::errorCode VDirVolatileRoot::lookupIndexAndLock (unsigned int index, VestaSource *&result, LongId::lockKindTag lockKind, ReadersWritersLock **lock) throw ()
VestaSourceVDCLookupResult (VDirChangeable *dir, Bit8 *entry, unsigned int index)
VestaSourceLongId::lookup (LongId::lockKindTag lockKind, ReadersWritersLock **lock) throw (SRPC::failure)
FP::Tag DirFP (Bit8 *rep)
ShortId DirId (Bit8 *rep)
void InitFPShortId ()

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
defaultRepSize 

Definition at line 275 of file VDirChangeable.H.

anonymous enum [private]
 

Enumeration values:
isNeither 
isMore 
isBase 

Definition at line 334 of file VDirChangeable.H.


Constructor & Destructor Documentation

VDirChangeable::VDirChangeable VestaSource::typeTag  type,
int  size = defaultRepSize,
ShortIdRefCount sidref = NULL
throw ()
 

Definition at line 3531 of file VDirChangeable.C.

References VMemPool::allocate(), VestaSource::appendableDirectory, VestaAttribs::attribs, VestaSource::immutableDirectory, VestaSource::master, VestaSource::type, VMemPool::vDirAppendable, VDIRCH_ENDMARK, VDIRCH_ENTRIES, VDIRCH_FREELEN, VDIRCH_MINSIZE, VMemPool::vDirChangeable, and VMemPool::vDirImmutable.

VDirChangeable::VDirChangeable VestaSource::typeTag  type,
Bit8 existingRep,
ShortIdRefCount sidref = NULL
throw ()
 

Definition at line 3518 of file VDirChangeable.C.

References VestaAttribs::attribs, VestaSource::master, and VestaSource::type.


Member Function Documentation

Bit8 * VDirChangeable::appendEntry bool  mast,
bool  sameAsBase,
VestaSource::typeTag  type,
Bit32  value,
Bit32  attrib,
const FP::Tag efptag,
const char *  arc,
int  arcLen
throw () [private]
 

Definition at line 3742 of file VDirChangeable.C.

References VMemPool::allocate(), VestaSource::gap, RECORD_TIME_POINT, VMemPool::shortenPointer(), VMemPool::type(), VDIRCH_E1ARC, VDIRCH_E1ARCLEN, VDIRCH_E1MINSIZE, VDIRCH_E2ARC, VDIRCH_E2ARCLEN, VDIRCH_E2MINSIZE, VDIRCH_EFLAGS, VDIRCH_ENTRIES, and VDIRCH_MINSIZE.

Referenced by collapse(), and renameTo().

static char* VDirChangeable::arc Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 425 of file VDirChangeable.H.

References hasEFPTag(), VDIRCH_E1ARC, and VDIRCH_E2ARC.

Referenced by findArc().

static int VDirChangeable::arcLen Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 422 of file VDirChangeable.H.

References hasEFPTag(), VDIRCH_E1ARCLEN, and VDIRCH_E2ARCLEN.

static Bit32 VDirChangeable::attrib Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 407 of file VDirChangeable.H.

References VDIRCH_EATTRIB.

Referenced by setAttrib().

Bit8* VDirChangeable::attribAddr Bit8 entry  )  throw () [inline, private]
 

Definition at line 411 of file VDirChangeable.H.

References VestaSource::appendableDirectory, VestaSource::mutableDirectory, VestaSource::type, and VDIRCH_EATTRIB.

Referenced by VDCLookupResult().

Bit8* VDirChangeable::base  )  throw () [inline, private]
 

Definition at line 434 of file VDirChangeable.H.

References baseCache, fillCaches(), and repEndCache.

Referenced by collapseBase(), getBase(), list(), lookup(), lookupIndex(), and renameTo().

void VDirChangeable::buildMutableSidref  )  throw ()
 

Definition at line 3479 of file VDirChangeable.C.

References rebuildMutableSidref(), and sidref.

void VDirChangeable::checkMutableSidref bool  correct = false  )  throw ()
 

Definition at line 3487 of file VDirChangeable.C.

References DBG_ALWAYS, and Repos::dprintf().

Bit32 VDirChangeable::checkpoint Bit32 nextSP,
std::fstream &  ckpt
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 3025 of file VDirChangeable.C.

References VMemPool::alignmentMask, VestaSource::appendableDirectory, VestaAttribsRep::checkpoint(), VForward::checkpoint(), VDirEvaluator::checkpoint(), checkpoint(), DBG_ALWAYS, VestaSource::deleted, Repos::dprintf(), VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::gap, VestaSource::immutableDirectory, VMemPool::lengthenPointer(), VestaSource::mutableDirectory, NEW_CONSTR, VestaSource::outdated, VestaSource::type, VMemPool::type(), VMemPool::vDirAppendable, VDIRCH_ENTRIES, VDIRCH_TIMESTAMP, VMemPool::vDirChangeable, VMemPool::vDirImmutable, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLogVersion.

Referenced by VDirVolatileRoot::checkpoint(), checkpoint(), and CheckpointAllDirShortIds().

VDirChangeable * VDirChangeable::collapse unsigned int  newSize = defaultRepSize  )  throw () [private]
 

Definition at line 4068 of file VDirChangeable.C.

References appendEntry(), VestaSource::deleted, VestaSource::gap, Table< K, V >::Default::Get(), VestaSource::immutableDirectory, VMemPool::lengthenPointer(), NEW_CONSTR, VestaSource::outdated, Table< K, V >::Default::Put(), VestaSource::rep, ArcKey::s, SetDirShortId(), SetFPDirShortId(), setFPTag(), setID(), setTimestampField(), VMemPool::shortenPointer(), ArcKey::slen, VestaSource::type, and VDIRCH_EFPTAG.

Referenced by collapseBase().

VestaSource::errorCode VDirChangeable::collapseBase AccessControl::Identity  who = NULL  )  throw (SRPC::failure) [virtual]
 

Reimplemented from VestaSource.

Definition at line 3362 of file VDirChangeable.C.

References base(), collapse(), VestaLog::commit(), VestaSource::immutableDirectory, VRErrorCode::inappropriateOp, VestaSource::mutableDirectory, VRErrorCode::noPermission, VRErrorCode::ok, AccessControl::ownership, VestaLog::put(), VestaSource::rep, VMemPool::shortenPointer(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, and VRLog.

VestaSource * VDirChangeable::copy  )  throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 3556 of file VDirChangeable.C.

References NEW_CONSTR.

VestaSource::errorCode VDirChangeable::copyIndexToMutable unsigned int  index,
VestaSource *&  result,
AccessControl::Identity  who = NULL
throw ()
 

Definition at line 2469 of file VDirChangeable.C.

References VestaSource::ac, VestaLog::commit(), VestaSource::fptag, VestaSource::immutableDirectory, VestaSource::immutableFile, VRErrorCode::inappropriateOp, VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::lookupIndex(), VestaSource::master, MAX_ARC_LEN, VestaSource::mutableDirectory, NEW_CONSTR, VRErrorCode::noPermission, VRErrorCode::notFound, nullFPTag, NullLongId, VRErrorCode::ok, VestaSource::pseudoInode, VestaLog::put(), VestaSource::rep, VMemPool::shortenPointer(), VestaSource::shortId(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VDCLookupResult(), VRLog, and AccessControl::write.

VDirChangeable * VDirChangeable::copyMutableToImmutable const FP::Tag fptag  )  throw () [private]
 

Definition at line 3803 of file VDirChangeable.C.

References baseCache, FdCache::close(), copyMutableToImmutable(), VestaSource::deleted, FP::Tag::Extend(), FdCache::flush(), VMemPool::free(), VestaSource::gap, GetFPShortId(), VestaSource::immutableDirectory, VestaSource::immutableFile, lastRepBlockCache, VMemPool::lengthenPointer(), VestaSource::mutableDirectory, VestaSource::mutableFile, NEW_CONSTR, NewDirShortId(), nextRawIndexCache, NullShortId, FdCache::open(), VestaSource::outdated, VestaSource::rep, repEndCache, FdCache::rw, SetFPDirShortId(), SetFPFileShortId(), setFPTag(), setID(), setIsMoreOrBase(), setMoreOrBase(), setTimestampField(), VMemPool::shortenPointer(), snapshot(), totalRepSizeCache, VMemPool::vDirImmutable, and VRLogVersion.

Referenced by copyMutableToImmutable().

static FP::Tag VDirChangeable::efptag Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 415 of file VDirChangeable.H.

References FP::ByteCnt, hasEFPTag(), VDIRCH_EFPTAG, and FP::Tag::Words().

Referenced by InitFPShortId(), and VDCLookupResult().

void VDirChangeable::fillCaches  )  throw () [private]
 

Definition at line 3565 of file VDirChangeable.C.

References baseCache, firstEntry(), VestaSource::gap, isBase, isEndMark(), isMore, isMoreOrBase(), lastRepBlockCache, VMemPool::lengthenPointer(), moreOrBase(), nextEntry(), nextRawIndexCache, repEndCache, totalRepSize(), totalRepSizeCache, type(), value(), and VDIRCH_MINSIZE.

Referenced by base(), lastRepBlock(), nextRawIndex(), repEnd(), and totalRepSize().

Bit8 * VDirChangeable::findArc const char *  arc,
unsigned int &  rawIndex,
bool  includeDeleted = false,
bool  includeOutdated = false
throw () [private]
 

Definition at line 3607 of file VDirChangeable.C.

References arc(), VestaSource::deleted, VestaSource::gap, VMemPool::lengthenPointer(), VestaSource::outdated, and VDIRCH_MINSIZE.

Referenced by lookup(), and renameTo().

Bit8 * VDirChangeable::findRawIndex unsigned int  rawIndex,
Bit8 *&  repBlock
throw () [private]
 

Definition at line 3672 of file VDirChangeable.C.

References VestaSource::gap, VMemPool::lengthenPointer(), and VDIRCH_MINSIZE.

Referenced by lookupIndex().

Bit8* VDirChangeable::firstEntry Bit8 repb  )  throw () [inline, private]
 

Definition at line 368 of file VDirChangeable.H.

References VDIRCH_ENTRIES.

Referenced by fillCaches(), freeTree(), rebuildCallback(), and sweepCallback().

FP::Tag VDirChangeable::fptag  )  throw () [inline, private]
 

Definition at line 357 of file VDirChangeable.H.

References FP::ByteCnt, VDIRCH_FPTAG, and FP::Tag::Words().

Referenced by DirFP(), insertImmutableDirectory(), and VDCLookupResult().

Bit32 VDirChangeable::freeLen  )  throw () [inline, private]
 

Definition at line 440 of file VDirChangeable.H.

References repEnd().

void VDirChangeable::freeTree  )  throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 3271 of file VDirChangeable.C.

References ShortIdRefCount::Decrement(), VestaSource::deleted, VestaSource::doLogging, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, firstEntry(), VMemPool::free(), freeTree(), VestaSource::gap, VestaSource::immutableDirectory, VestaSource::immutableFile, isEndMark(), isMore, isMoreOrBase(), VMemPool::lengthenPointer(), moreOrBase(), VestaSource::mutableDirectory, VestaSource::mutableFile, VestaLog::nesting(), nextEntry(), VestaSource::outdated, sidref, VestaSource::size(), type(), VestaSource::type, value(), VMemPool::vDirChangeable, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

Referenced by VDirVolatileRoot::deleteIndex(), freeTree(), GardenerThread(), and reallyDelete().

VestaSource::errorCode VDirChangeable::getBase VestaSource *&  result,
AccessControl::Identity  who = NULL
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 2188 of file VDirChangeable.C.

References base(), FP::ByteCnt, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, LongId::fromShortId(), VestaSource::immutableDirectory, NEW_CONSTR, VRErrorCode::noPermission, VRErrorCode::notFound, NullShortId, VRErrorCode::ok, AccessControl::read, VestaSource::rep, repEndCache, VestaSource::type, VDIRCH_FPTAG, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and FP::Tag::Words().

Referenced by VDirVolatileRoot::deleteIndex(), and GardenerThread().

Bit32 VDirChangeable::getID  )  throw () [inline, private]
 

Definition at line 351 of file VDirChangeable.H.

References VDIRCH_ID.

Referenced by DirId(), list(), rebuildCallback(), shortId(), sweepCallback(), and VDCLookupResult().

int VDirChangeable::getRefCount ShortId  sid,
int  default_count = 0
[inline]
 

Definition at line 225 of file VDirChangeable.H.

References ShortIdRefCount::GetCount(), and sidref.

Referenced by VDCLookupResult().

static bool VDirChangeable::hasEFPTag Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 388 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

Referenced by arc(), arcLen(), efptag(), nextEntry(), and setEFPTag().

bool VDirChangeable::hasName Bit8 repb  )  throw () [inline, private]
 

Definition at line 324 of file VDirChangeable.H.

References VDIRCH_FLAGS.

bool VDirChangeable::hasName  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 315 of file VDirChangeable.H.

References VDIRCH_FLAGS.

Referenced by mark(), and sweepCallback().

VestaSource::errorCode VDirChangeable::insertAppendableDirectory Arc  arc,
bool  mast,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
VestaSource **  newvs = NULL,
time_t  timestamp = 0
throw ()
 

Definition at line 1262 of file VDirChangeable.C.

References VestaSource::ac, VestaSource::appendableDirectory, EntryData::arc, VestaAttribs::attribs, VestaLog::commit(), FP::Tag::Extend(), VestaSource::fptag, VRErrorCode::inappropriateOp, EntryData::index, VestaSource::longid, VRErrorCode::longIdOverflow, MAX_ARC_LEN, VRErrorCode::nameTooLong, NEW_CONSTR, NullLongId, NullShortId, VRErrorCode::ok, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutQuotedString(), VestaSource::rep, setFPTag(), setTimestampField(), VMemPool::shortenPointer(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

VestaSource::errorCode VDirChangeable::insertCommon Arc  arc,
bool  mast,
VestaSource::typeTag  newtype,
AccessControl::Identity  who,
VestaSource::dupeCheck  chk,
const char **  setOwner,
ShortId delsid,
Bit32 attribs = NULL
throw () [private]
 

Definition at line 707 of file VDirChangeable.C.

References VestaSource::ac, AccessControl::agreement, EntryData::arc, AccessControl::del, VestaSource::deleted, VestaSource::dontReplace, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::immutableDirectory, VestaSource::longid, VestaSource::lookup(), VestaSource::master, VestaSource::mutableDirectory, VestaSource::mutableFile, VRErrorCode::nameInUse, VestaLog::nesting(), NEW_CONSTR, VRErrorCode::noPermission, VRErrorCode::notFound, VRErrorCode::notMaster, NullShortId, VRErrorCode::ok, VestaSource::outdated, VestaSource::replaceDiff, VestaSource::replaceNonMaster, EntryData::type, VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VRLog, and AccessControl::write.

VestaSource::errorCode VDirChangeable::insertFile Arc  arc,
ShortId  sid,
bool  mast,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
VestaSource **  newvs = NULL,
time_t  timestamp = 0,
FP::Tag fptag = NULL
throw ()
 

Definition at line 894 of file VDirChangeable.C.

References VestaSource::ac, LongId::append(), VestaSource::appendableDirectory, EntryData::arc, VestaAttribs::attribs, VestaLog::commit(), FP::Tag::Extend(), VestaSource::fptag, LongId::fromShortId(), VestaSource::immutableFile, VRErrorCode::inappropriateOp, EntryData::index, VRErrorCode::invalidArgs, LongId::isAncestorOf(), VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::master, MAX_ARC_LEN, VestaSource::mutableDirectory, VRErrorCode::nameTooLong, NEW_CONSTR, nullFPTag, NullLongId, NullShortId, VRErrorCode::ok, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutFPTag(), PutQuotedString(), RootLongId, VestaSource::setAttrib(), SetFPFileShortId(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, uidFPTag, UniqueId(), VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

VestaSource::errorCode VDirChangeable::insertGhost Arc  arc,
bool  mast,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
VestaSource **  newvs = NULL,
time_t  timestamp = 0
throw ()
 

Definition at line 1468 of file VDirChangeable.C.

References VestaSource::ac, VestaSource::appendableDirectory, EntryData::arc, VestaAttribs::attribs, VestaLog::commit(), VestaSource::fptag, VestaSource::ghost, VRErrorCode::inappropriateOp, EntryData::index, VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::master, MAX_ARC_LEN, VRErrorCode::nameTooLong, NEW_CONSTR, nullFPTag, NullLongId, NullShortId, VRErrorCode::ok, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutQuotedString(), VestaSource::setAttrib(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

VestaSource::errorCode VDirChangeable::insertImmutableDirectory Arc  arc,
VestaSource dir,
bool  mast,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
VestaSource **  newvs = NULL,
time_t  timestamp = 0,
FP::Tag fptag = NULL
throw ()
 

Definition at line 1125 of file VDirChangeable.C.

References VestaSource::ac, VestaSource::appendableDirectory, EntryData::arc, VestaAttribs::attribs, VestaLog::commit(), FP::Tag::Extend(), fptag(), VestaSource::fptag, VestaSource::immutableDirectory, VRErrorCode::inappropriateOp, EntryData::index, VRErrorCode::invalidArgs, VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::master, MAX_ARC_LEN, VestaSource::mutableDirectory, VRErrorCode::nameTooLong, NEW_CONSTR, NewDirShortId(), VRErrorCode::noPermission, NullLongId, NullShortId, VRErrorCode::ok, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutFPTag(), PutQuotedString(), AccessControl::read, VestaSource::rep, VestaSource::setAttrib(), SetFPDirShortId(), setFPTag(), setID(), setTimestampField(), VMemPool::shortenPointer(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

VestaSource::errorCode VDirChangeable::insertMutableDirectory Arc  arc,
VestaSource dir,
bool  mast,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
VestaSource **  newvs = NULL,
time_t  timestamp = 0
throw ()
 

Definition at line 1349 of file VDirChangeable.C.

References VestaSource::ac, EntryData::arc, VestaAttribs::attribs, baseCache, VestaLog::commit(), VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::immutableDirectory, VRErrorCode::inappropriateOp, EntryData::index, VestaSource::longid, VRErrorCode::longIdOverflow, MAX_ARC_LEN, VestaSource::mutableDirectory, VRErrorCode::nameTooLong, NEW_CONSTR, VRErrorCode::noPermission, nullFPTag, NullLongId, NullShortId, VRErrorCode::ok, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutQuotedString(), AccessControl::read, VestaSource::rep, setID(), setIsMoreOrBase(), setMoreOrBase(), setSnapshot(), setTimestampField(), VMemPool::shortenPointer(), sidref, VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

VestaSource::errorCode VDirChangeable::insertMutableFile Arc  arc,
ShortId  sid,
bool  mast,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
VestaSource **  newvs = NULL,
time_t  timestamp = 0
throw ()
 

Definition at line 1014 of file VDirChangeable.C.

References VestaSource::ac, LongId::append(), EntryData::arc, VestaAttribs::attribs, FdCache::close(), VestaLog::commit(), FP::Tag::Extend(), SourceOrDerived::fdcreate(), VestaSource::fptag, LongId::fromShortId(), VRErrorCode::inappropriateOp, EntryData::index, VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::master, MAX_ARC_LEN, VestaSource::mutableDirectory, VestaSource::mutableFile, VRErrorCode::nameTooLong, NEW_CONSTR, nullFPTag, NullLongId, NullShortId, VRErrorCode::ok, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutQuotedString(), RECORD_TIME_POINT, VestaSource::setAttrib(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, uidFPTag, UniqueId(), VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

VestaSource::errorCode VDirChangeable::insertStub Arc  arc,
bool  mast,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
VestaSource **  newvs = NULL,
time_t  timestamp = 0
throw ()
 

Definition at line 1546 of file VDirChangeable.C.

References VestaSource::ac, VestaSource::appendableDirectory, EntryData::arc, VestaAttribs::attribs, VestaLog::commit(), VestaSource::fptag, VRErrorCode::inappropriateOp, EntryData::index, VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::master, MAX_ARC_LEN, VRErrorCode::nameTooLong, NEW_CONSTR, nullFPTag, NullLongId, NullShortId, VRErrorCode::ok, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutQuotedString(), VestaSource::setAttrib(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::stub, VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

static bool VDirChangeable::inUse Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 383 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

Referenced by sweepCallback().

static bool VDirChangeable::isEndMark Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 377 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

Referenced by fillCaches(), freeTree(), rebuildCallback(), and sweepCallback().

static int VDirChangeable::isMoreOrBase Bit8 repb  )  throw () [inline, static, private]
 

Definition at line 335 of file VDirChangeable.H.

References VDIRCH_FLAGS.

Referenced by fillCaches(), and freeTree().

Bit8* VDirChangeable::lastRepBlock  )  throw () [inline, private]
 

Definition at line 436 of file VDirChangeable.H.

References fillCaches(), lastRepBlockCache, and repEndCache.

VestaSource::errorCode VDirChangeable::list unsigned int  firstIndex,
VestaSource::listCallback  callback,
void *  closure,
AccessControl::Identity  who = NULL,
bool  deltaOnly = false,
unsigned int  indexOffset = 0
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 1942 of file VDirChangeable.C.

References VestaSource::ac, base(), FilterListClosure::callback, FilterListClosure::closure, VestaSource::deleted, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, filterListCallback(), VestaSource::gap, Table< K, V >::Default::Get(), getID(), LongId::getParent(), FilterListClosure::hidden, VestaSource::immutableDirectory, VestaSource::immutableFile, LongId::isAncestorOf(), VMemPool::lengthenPointer(), VestaSource::list(), VestaSource::longid, VestaSource::lookup(), VestaSource::master, VestaSource::mutableDirectory, VestaSource::mutableFile, NEW_CONSTR, nextRawIndex(), VRErrorCode::noPermission, NullShortId, VRErrorCode::ok, VestaSource::outdated, VestaSource::pseudoInode, Table< K, V >::Default::Put(), AccessControl::read, VestaSource::rep, repEndCache, RootLongId, ArcKey::s, shortId(), ArcKey::slen, VestaSource::type, VestaSource::volatileDirectory, and VestaSource::volatileROEDirectory.

Referenced by rebuildMutableSidref().

VestaSource::errorCode VDirChangeable::lookup Arc  arc,
VestaSource *&  result,
AccessControl::Identity  who = NULL,
unsigned int  indexOffset = 0
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 209 of file VDirChangeable.C.

References VestaSource::ac, EntryData::arc, base(), VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, findArc(), LongId::getParent(), VestaSource::immutableDirectory, EntryData::index, VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::lookup(), VestaSource::master, NEW_CONSTR, nextRawIndex(), VRErrorCode::noPermission, VRErrorCode::notFound, NullLongId, VRErrorCode::ok, EntryData::pseudoInode, VestaSource::pseudoInode, VestaSource::rep, repEndCache, AccessControl::search, VestaSource::type, VDCLookupResult(), VestaSource::volatileDirectory, and VestaSource::volatileROEDirectory.

VestaSource::errorCode VDirChangeable::lookupIndex unsigned int  index,
VestaSource *&  result,
char *  arcbuf = NULL
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 325 of file VDirChangeable.C.

References VestaSource::ac, EntryData::arc, base(), VestaSource::deleted, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, findRawIndex(), VestaSource::immutableDirectory, VestaSource::immutableFile, EntryData::index, LongId::isAncestorOf(), VMemPool::lengthenPointer(), VForward::longid(), VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::lookupIndex(), VestaSource::master, MAX_ARC_LEN, VestaSource::mutableFile, NEW_CONSTR, nextRawIndex(), VRErrorCode::notFound, NullLongId, VRErrorCode::ok, VestaSource::outdated, EntryData::pseudoInode, VestaSource::pseudoInode, VestaSource::rep, repEndCache, RootLongId, EntryData::type, VestaSource::type, VDCLookupResult(), VestaSource::volatileDirectory, and VestaSource::volatileROEDirectory.

void VDirChangeable::makeIndexImmutable unsigned int  index,
const FP::Tag fptag = NULL,
ShortId  newsid = NullShortId
throw ()
 

Definition at line 2403 of file VDirChangeable.C.

References VestaLog::commit(), VestaSource::immutableFile, VestaSource::mutableDirectory, VestaSource::mutableFile, NullShortId, VestaLog::put(), PutFPTag(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

VestaSource::errorCode VDirChangeable::makeIndexMutable unsigned int  index,
VestaSource *&  result,
ShortId  sid = NullShortId,
Basics::uint64  copyMax = (Basics::uint64)-1,
AccessControl::Identity  who = NULL
throw ()
 

Definition at line 2231 of file VDirChangeable.C.

References VestaSource::ac, VestaLog::commit(), CopyShortId(), VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::immutableDirectory, VestaSource::immutableFile, VRErrorCode::inappropriateOp, VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::lookupIndex(), VestaSource::master, MAX_ARC_LEN, VestaSource::mutableDirectory, VestaSource::mutableFile, NEW_CONSTR, VRErrorCode::noPermission, VRErrorCode::notFound, nullFPTag, NullLongId, NullShortId, VRErrorCode::ok, VestaSource::pseudoInode, VestaLog::put(), VestaSource::rep, setID(), setIsMoreOrBase(), setMoreOrBase(), setTimestampField(), VMemPool::shortenPointer(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VDCLookupResult(), VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VRLog, and AccessControl::write.

void VDirChangeable::mark bool  byName = true,
ArcTable hidden = NULL
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 2617 of file VDirChangeable.C.

References VestaSource::appendableDirectory, DBG_ALWAYS, VestaSource::deleted, Repos::dprintf(), VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VestaSource::gap, VDirEvaluator::hasName(), hasName(), VestaSource::immutableDirectory, VestaSource::immutableFile, VMemPool::lengthenPointer(), mark(), VDirEvaluator::mark(), VestaAttribsRep::mark(), VestaSource::mutableDirectory, VestaSource::mutableFile, NEW, NullShortId, VestaSource::outdated, ArcKey::s, VDirEvaluator::setHasName(), setHasName(), VestaSource::setVisited(), VDirEvaluator::setVisited(), setVisited(), ArcKey::slen, VestaSource::type, VMemPool::type(), VMemPool::vDirAppendable, VMemPool::vDirChangeable, VMemPool::vDirImmutable, VMemPool::vForward, VDirEvaluator::visited(), visited(), VestaSource::volatileDirectory, and VestaSource::volatileROEDirectory.

Referenced by VDirVolatileRoot::mark(), and mark().

void VDirChangeable::markCallback void *  closure,
VMemPool::typeCode  type
throw () [static]
 

Definition at line 2886 of file VDirChangeable.C.

References VestaSource::mutableRoot(), VestaSource::repositoryRoot(), VDCStats, and VestaSource::volatileRoot().

Referenced by InitVRWeed().

static bool VDirChangeable::masterFlag Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 379 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

Referenced by VDCLookupResult().

VestaSource::errorCode VDirChangeable::measureDirectory directoryStats &  result,
AccessControl::Identity  who = NULL
throw (SRPC::failure) [virtual]
 

Reimplemented from VestaSource.

Definition at line 3993 of file VDirChangeable.C.

References VestaSource::deleted, VestaSource::gap, Table< K, V >::Default::Get(), VestaSource::immutableDirectory, VMemPool::lengthenPointer(), VestaSource::mutableDirectory, VRErrorCode::noPermission, VRErrorCode::ok, VestaSource::outdated, Table< K, V >::Default::Put(), AccessControl::read, ArcKey::s, ArcKey::slen, and VestaSource::type.

static Bit32 VDirChangeable::moreOrBase Bit8 repb  )  throw () [inline, static, private]
 

Definition at line 339 of file VDirChangeable.H.

References VDIRCH_MOREORBASE.

Referenced by fillCaches(), and freeTree().

static Bit8* VDirChangeable::nextEntry Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 370 of file VDirChangeable.H.

References hasEFPTag(), VDIRCH_E1ARCLEN, VDIRCH_E1MINSIZE, VDIRCH_E2ARCLEN, and VDIRCH_E2MINSIZE.

Referenced by fillCaches(), and freeTree().

unsigned int VDirChangeable::nextRawIndex  )  throw () [inline, private]
 

Definition at line 432 of file VDirChangeable.H.

References fillCaches(), nextRawIndexCache, and repEndCache.

Referenced by list(), lookup(), and lookupIndex().

void VDirChangeable::printStats  )  throw () [static]
 

Definition at line 2856 of file VDirChangeable.C.

References DBG_VMEMPOOL, Repos::dprintf(), and VDCStats.

VestaSource::errorCode VDirChangeable::reallyDelete Arc  arc,
AccessControl::Identity  who = NULL,
bool  existCheck = true,
time_t  timestamp = 0
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 525 of file VDirChangeable.C.

References VestaSource::ac, AccessControl::agreement, VestaSource::appendableDirectory, EntryData::arc, VestaLog::commit(), VestaSource::deleted, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, freeTree(), VestaSource::immutableDirectory, VRErrorCode::inappropriateOp, VMemPool::lengthenPointer(), VestaSource::longid, VestaSource::lookup(), VestaSource::master, VestaSource::mutableDirectory, VestaSource::mutableFile, VRErrorCode::nameInUse, VestaLog::nesting(), NEW_CONSTR, VRErrorCode::noPermission, VRErrorCode::notFound, VRErrorCode::ok, VestaSource::outdated, VestaLog::put(), PutQuotedString(), sidref, VestaLog::start(), Basics::OBufStream::str(), EntryData::type, VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VRLog, VRLogVersion, and AccessControl::write.

void VDirChangeable::rebuildCallback void *  closure,
VMemPool::typeCode  type,
void *  addr,
Bit32 size
throw () [static]
 

Definition at line 2973 of file VDirChangeable.C.

References VestaSource::appendableDirectory, firstEntry(), getID(), VestaSource::immutableDirectory, VestaSource::immutableFile, isEndMark(), NullShortId, VestaSource::rep, SetDirShortId(), SetFPDirShortId(), SetFPFileShortId(), VMemPool::shortenPointer(), type(), VestaSource::unused, VMemPool::vDirAppendable, and VMemPool::vDirImmutable.

Referenced by InitVRWeed().

ShortIdRefCount * VDirChangeable::rebuildMutableSidref  )  throw () [private]
 

Definition at line 3462 of file VDirChangeable.C.

References list(), VestaSource::mutableDirectory, MutableRootLongId, VRErrorCode::ok, buildMutableSidrefClosure::sidref, and buildMutableSidrefClosure::vs.

Referenced by buildMutableSidref().

VestaSource::errorCode VDirChangeable::renameTo Arc  arc,
VestaSource fromDir,
Arc  fromArc,
AccessControl::Identity  who = NULL,
VestaSource::dupeCheck  chk = VestaSource::dontReplace,
time_t  timestamp = 0
throw ()
 

Definition at line 1630 of file VDirChangeable.C.

References VestaSource::ac, VestaSource::appendableDirectory, appendEntry(), EntryData::arc, VestaAttribs::attribs, base(), VestaLog::commit(), copyOwnerCallback(), VForward::create(), VestaSource::deleted, VestaSource::device, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, FP::Tag::Extend(), findArc(), VestaAttribs::firstAttrib(), VestaSource::fptag, VestaSource::ghost, VestaAttribs::hasAttribs(), VestaSource::immutableDirectory, VestaSource::immutableFile, VRErrorCode::inappropriateOp, EntryData::index, VRErrorCode::invalidArgs, LongId::isAncestorOf(), VestaSource::longid, VRErrorCode::longIdOverflow, VestaSource::lookup(), VestaSource::master, MAX_ARC_LEN, VestaSource::mutableDirectory, VestaSource::mutableFile, VRErrorCode::nameTooLong, NEW_CONSTR, VRErrorCode::noPermission, NullLongId, NullShortId, VRErrorCode::ok, VestaSource::outdated, AccessControl::owner, VestaSource::pseudoInode, VestaLog::put(), PutQuotedString(), VestaSource::rep, setEntry(), SetFPFileShortId(), setID(), setIsMoreOrBase(), setMoreOrBase(), setSnapshot(), setTimestampField(), VMemPool::shortenPointer(), VestaSource::shortId(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::stub, VestaSource::timestamp(), timestamp(), VestaSource::type, VDCLookupResult(), VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VRLog, VRLogVersion, and AccessControl::write.

Bit8* VDirChangeable::repEnd  )  throw () [inline, private]
 

Definition at line 430 of file VDirChangeable.H.

References fillCaches(), and repEndCache.

Referenced by freeLen(), and setFreeLen().

void VDirChangeable::resync AccessControl::Identity  who = NULL  )  throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 3602 of file VDirChangeable.C.

static bool VDirChangeable::sameAsBase Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 393 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

static void VDirChangeable::setAttrib Bit8 entry,
Bit32  attrib
throw () [inline, static, private]
 

Definition at line 409 of file VDirChangeable.H.

References attrib(), and VDIRCH_EATTRIB.

static void VDirChangeable::setEFPTag Bit8 entry,
const FP::Tag newfptag
throw () [inline, static, private]
 

Definition at line 418 of file VDirChangeable.H.

References FP::ByteCnt, hasEFPTag(), and VDIRCH_EFPTAG.

void VDirChangeable::setEntry Bit8 entry,
bool  mast,
bool  sameAsBase,
VestaSource::typeTag  type,
Bit32  value,
Bit32  attrib,
const FP::Tag efptag
throw () [static, private]
 

Definition at line 3719 of file VDirChangeable.C.

References VestaSource::gap, nullFPTag, and VDIRCH_EFLAGS.

Referenced by renameTo().

void VDirChangeable::setFPTag const FP::Tag newfptag  )  throw () [inline, private]
 

Definition at line 360 of file VDirChangeable.H.

References FP::ByteCnt, and VDIRCH_FPTAG.

Referenced by collapse(), copyMutableToImmutable(), insertAppendableDirectory(), and insertImmutableDirectory().

void VDirChangeable::setFreeLen Bit32  newval  )  throw () [inline, private]
 

Definition at line 442 of file VDirChangeable.H.

References repEnd().

static void VDirChangeable::setHasEFPTag Bit8 entry,
bool  newval
throw () [inline, static, private]
 

Definition at line 390 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

void VDirChangeable::setHasName Bit8 repb,
bool  newval
throw () [inline, private]
 

Definition at line 326 of file VDirChangeable.H.

References VDIRCH_FLAGS.

void VDirChangeable::setHasName bool  newval  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 316 of file VDirChangeable.H.

References VDIRCH_FLAGS.

Referenced by VDirVolatileRoot::mark(), mark(), and sweepCallback().

void VDirChangeable::setID Bit32  newval  )  throw () [inline, private]
 

Definition at line 353 of file VDirChangeable.H.

References VDIRCH_ID.

Referenced by collapse(), copyMutableToImmutable(), VDirVolatileRoot::createVolatileDirectory(), insertImmutableDirectory(), insertMutableDirectory(), makeIndexMutable(), renameTo(), and sweepCallback().

VestaSource::errorCode VDirChangeable::setIndexMaster unsigned int  index,
bool  state,
AccessControl::Identity  who = NULL
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 2569 of file VDirChangeable.C.

References AccessControl::agreement, VestaSource::appendableDirectory, VestaLog::commit(), VestaSource::deleted, VestaSource::gap, VRErrorCode::noPermission, VRErrorCode::notFound, VRErrorCode::ok, VestaSource::outdated, VestaLog::put(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, and VRLog.

static void VDirChangeable::setInUse Bit8 entry,
bool  newval
throw () [inline, static, private]
 

Definition at line 385 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

static void VDirChangeable::setIsMoreOrBase Bit8 repb,
int  newval
throw () [inline, static, private]
 

Definition at line 337 of file VDirChangeable.H.

References VDIRCH_FLAGS.

Referenced by copyMutableToImmutable(), VDirVolatileRoot::createVolatileDirectory(), insertMutableDirectory(), makeIndexMutable(), and renameTo().

static void VDirChangeable::setMasterFlag Bit8 entry,
bool  newval
throw () [inline, static, private]
 

Definition at line 381 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

static void VDirChangeable::setMoreOrBase Bit8 repb,
Bit32  newval
throw () [inline, static, private]
 

Definition at line 341 of file VDirChangeable.H.

References VDIRCH_MOREORBASE.

Referenced by copyMutableToImmutable(), VDirVolatileRoot::createVolatileDirectory(), insertMutableDirectory(), makeIndexMutable(), and renameTo().

static void VDirChangeable::setSameAsBase Bit8 entry,
bool  newval
throw () [inline, static, private]
 

Definition at line 395 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

void VDirChangeable::setSnapshot Bit32  newval  )  throw () [inline, private]
 

Definition at line 365 of file VDirChangeable.H.

References VDIRCH_FPTAG.

Referenced by insertMutableDirectory(), and renameTo().

VestaSource::errorCode VDirChangeable::setTimestamp time_t  ts,
AccessControl::Identity  who = NULL
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 474 of file VDirChangeable.C.

References VestaSource::appendableDirectory, VestaLog::commit(), VRErrorCode::inappropriateOp, VestaSource::mutableDirectory, VRErrorCode::noPermission, VRErrorCode::ok, AccessControl::ownership, VestaLog::put(), VestaLog::start(), Basics::OBufStream::str(), VestaSource::type, VestaSource::volatileDirectory, VestaSource::volatileROEDirectory, VRLog, and AccessControl::write.

Referenced by VDirVolatileRoot::createVolatileDirectory().

void VDirChangeable::setTimestampField Bit32  newval  )  throw () [inline, private]
 

Definition at line 348 of file VDirChangeable.H.

References VDIRCH_TIMESTAMP.

Referenced by collapse(), copyMutableToImmutable(), insertAppendableDirectory(), insertImmutableDirectory(), insertMutableDirectory(), makeIndexMutable(), and renameTo().

static void VDirChangeable::setType Bit8 entry,
VestaSource::typeTag  type
throw () [inline, static, private]
 

Definition at line 400 of file VDirChangeable.H.

References type(), and VDIRCH_EFLAGS.

static void VDirChangeable::setValue Bit8 entry,
Bit32  value
throw () [inline, static, private]
 

Definition at line 405 of file VDirChangeable.H.

References value(), and VDIRCH_EVALUE.

void VDirChangeable::setVisited Bit8 repb,
bool  newval
throw () [inline, private]
 

Definition at line 330 of file VDirChangeable.H.

References VDIRCH_FLAGS.

void VDirChangeable::setVisited bool  newval  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 320 of file VDirChangeable.H.

References VDIRCH_FLAGS.

Referenced by mark(), and sweepCallback().

ShortId VDirChangeable::shortId  )  throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 68 of file VDirChangeable.C.

References getID(), VestaSource::immutableDirectory, NullShortId, and VestaSource::type.

Referenced by list().

Bit32 VDirChangeable::snapshot  )  throw () [inline, private]
 

Definition at line 363 of file VDirChangeable.H.

References VDIRCH_FPTAG.

Referenced by copyMutableToImmutable().

bool VDirChangeable::sweepCallback void *  closure,
VMemPool::typeCode  type,
void *  addr,
Bit32 size
throw () [static]
 

Definition at line 2902 of file VDirChangeable.C.

References VestaSource::appendableDirectory, DeleteDirShortId(), firstEntry(), VestaSource::gap, getID(), hasName(), VestaSource::immutableDirectory, VestaSource::immutableFile, inUse(), isEndMark(), VestaSource::mutableFile, NullShortId, VestaSource::outdated, VestaSource::rep, setHasName(), setID(), setVisited(), type(), VestaSource::unused, value(), VDCStats, VMemPool::vDirAppendable, VMemPool::vDirImmutable, and visited().

Referenced by InitVRWeed().

time_t VDirChangeable::timestamp  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 344 of file VDirChangeable.H.

References VDIRCH_TIMESTAMP.

Referenced by renameTo().

int VDirChangeable::totalRepSize  )  throw () [inline, private]
 

Definition at line 438 of file VDirChangeable.H.

References fillCaches(), repEndCache, and totalRepSizeCache.

Referenced by fillCaches().

static VestaSource::typeTag VDirChangeable::type Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 398 of file VDirChangeable.H.

References VDIRCH_EFLAGS.

Referenced by fillCaches(), freeTree(), rebuildCallback(), setType(), sweepCallback(), and VDCLookupResult().

static Bit32 VDirChangeable::value Bit8 entry  )  throw () [inline, static, private]
 

Definition at line 403 of file VDirChangeable.H.

References VDIRCH_EVALUE.

Referenced by fillCaches(), freeTree(), InitFPShortId(), setValue(), sweepCallback(), and VDCLookupResult().

bool VDirChangeable::visited Bit8 repb  )  throw () [inline, private]
 

Definition at line 328 of file VDirChangeable.H.

References VDIRCH_FLAGS.

bool VDirChangeable::visited  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 318 of file VDirChangeable.H.

References VDIRCH_FLAGS.

Referenced by mark(), and sweepCallback().


Friends And Related Function Documentation

FP::Tag DirFP Bit8 rep  )  [friend]
 

Definition at line 59 of file FPShortId.C.

ShortId DirId Bit8 rep  )  [friend]
 

Definition at line 66 of file FPShortId.C.

bool filterListCallback void *  closure,
typeTag  type,
Arc  arc,
unsigned int  index,
unsigned int  pseudoInode,
bool  mast
throw () [friend]
 

void InitFPShortId  )  [friend]
 

Definition at line 72 of file FPShortId.C.

VestaSource* LongId::lookup LongId::lockKindTag  lockKind,
ReadersWritersLock **  lock
throw (SRPC::failure) [friend]
 

VestaSource* VDCLookupResult VDirChangeable dir,
Bit8 entry,
unsigned int  index
[friend]
 

Definition at line 78 of file VDirChangeable.C.

VestaSource::errorCode VDirVolatileRoot::createVolatileDirectory char *  hostname,
char *  port,
Bit64  handle,
VestaSource *&  result,
time_t  timestamp,
LongId::lockKindTag  lockKind,
ReadersWritersLock **  lock,
bool  readOnlyExisting
throw () [friend]
 

VestaSource::errorCode VDirVolatileRoot::lookupIndexAndLock unsigned int  index,
VestaSource *&  result,
LongId::lockKindTag  lockKind,
ReadersWritersLock **  lock
throw () [friend]
 


Member Data Documentation

Bit8* VDirChangeable::baseCache [private]
 

Definition at line 304 of file VDirChangeable.H.

Referenced by base(), copyMutableToImmutable(), VDirVolatileRoot::createVolatileDirectory(), fillCaches(), and insertMutableDirectory().

Bit8* VDirChangeable::lastRepBlockCache [private]
 

Definition at line 305 of file VDirChangeable.H.

Referenced by copyMutableToImmutable(), fillCaches(), and lastRepBlock().

unsigned int VDirChangeable::nextRawIndexCache [private]
 

Definition at line 303 of file VDirChangeable.H.

Referenced by copyMutableToImmutable(), fillCaches(), and nextRawIndex().

Bit8* VDirChangeable::repEndCache [private]
 

Definition at line 302 of file VDirChangeable.H.

Referenced by base(), copyMutableToImmutable(), fillCaches(), getBase(), lastRepBlock(), list(), lookup(), lookupIndex(), nextRawIndex(), repEnd(), and totalRepSize().

ShortIdRefCount* VDirChangeable::sidref [private]
 

Definition at line 496 of file VDirChangeable.H.

Referenced by buildMutableSidref(), VDirVolatileRoot::createVolatileDirectory(), freeTree(), getRefCount(), insertMutableDirectory(), reallyDelete(), and VDCLookupResult().

int VDirChangeable::totalRepSizeCache [private]
 

Definition at line 306 of file VDirChangeable.H.

Referenced by copyMutableToImmutable(), fillCaches(), and totalRepSize().


The documentation for this class was generated from the following files:
Generated on Mon May 8 00:49:15 2006 for Vesta by  doxygen 1.4.2