XrdFrmPurge Class Reference

#include <XrdFrmPurge.hh>

List of all members.

Public Member Functions

 XrdFrmPurge (const char *snp, XrdFrmPurge *spp=0)
 ~XrdFrmPurge ()

Static Public Member Functions

static void Display ()
static int Init (XrdOucTList *sP=0, long long minV=-1, int hVal=-1)
static XrdFrmPurgePolicy (const char *sname)
static XrdFrmPurgePolicy (const char *sname, long long minV, long long maxV, int hVal, int xVal)
static void Purge ()

Private Member Functions

XrdFrmFilesetAdvance ()
void Clear ()
void Defer (XrdFrmFileset *sP, time_t xTime)
const char * Eligible (XrdFrmFileset *sP, time_t &xTime, int hTime=0)
int PurgeFile ()
void Track (XrdFrmFileset *sP)
const char * XPolOK (XrdFrmFileset *sP)

Static Private Member Functions

static void Add (XrdFrmFileset *fsp)
static XrdFrmPurgeFind (const char *snp)
static int LowOnSpace ()
 >0 -> Purge is needed.
static void Remfix (const char *Ftype, const char *Fname)
static void Scan ()
static int Screen (XrdFrmFileset *sP, int needLF)
static void Stats (int Final)

Private Attributes

long long freeSpace
long long fconMaxsp
long long usedSpace
long long pmaxSpace
long long totlSpace
long long contSpace
long long purgBytes
long long minFSpace
long long maxFSpace
char * spaceTotl
char * spaceTotP
int spaceTLen
int spaceTLep
int Hold
int Hold2x
int Ext
int numFiles
int prgFiles
int Enabled
int Stop
int SNlen
XrdFrmPurgeNext
XrdFrmTSort FSTab
char SName [XrdOssSpace::minSNbsz]
XrdFrmFilesetDeferQ [DeferQsz]
time_t DeferT [DeferQsz]

Static Private Attributes

static XrdOucProgPolProg
static XrdOucStreamPolStream
static XrdOucHash< char > BadFiles
static time_t lastReset
static time_t nextReset
static XrdFrmPurgeFirst
static XrdFrmPurgeDefault
static int Left2Do
static const int DeferQsz = 16


Detailed Description

Definition at line 27 of file XrdFrmPurge.hh.


Constructor & Destructor Documentation

XrdFrmPurge::XrdFrmPurge ( const char *  snp,
XrdFrmPurge spp = 0 
)

Definition at line 146 of file XrdFrmPurge.cc.

References Clear(), contSpace, DeferQ, Enabled, freeSpace, maxFSpace, minFSpace, Next, pmaxSpace, SName, SNlen, Stop, totlSpace, and usedSpace.

Referenced by Policy().

XrdFrmPurge::~XrdFrmPurge (  )  [inline]

Definition at line 42 of file XrdFrmPurge.hh.

References Clear().


Member Function Documentation

void XrdFrmPurge::Display (  )  [static]

Definition at line 277 of file XrdFrmPurge.cc.

References XrdFrm::Config(), XrdFrmConfig::VPInfo::Dir, XrdFrmConfig::dirHold, Enabled, Ext, First, XrdOucUtils::fmtBytes(), Hold, maxFSpace, minFSpace, XrdFrmConfig::VPInfo::Name, Next, XrdOucTList::next, XrdFrmConfig::VPInfo::Next, XrdFrmConfig::pathList, XrdFrm::Say(), XrdSysError::Say(), SName, sprintf(), strcpy(), XrdOucTList::text, and XrdFrmConfig::VPInfo::Val.

Referenced by main().

int XrdFrmPurge::Init ( XrdOucTList sP = 0,
long long  minV = -1,
int  hVal = -1 
) [static]

Definition at line 407 of file XrdFrmPurge.cc.

References XrdFrm::Config(), XrdSysError::Emsg(), Find(), First, XrdOucProg::getStream(), XrdOssVSInfo::Large, XrdFrmConfig::VPInfo::Name, Next, XrdOucTList::next, XrdFrmConfig::VPInfo::Next, XrdFrmConfig::ossFS, PolProg, PolStream, XrdFrmConfig::PP_atime, XrdFrmConfig::PP_fsize, XrdFrmConfig::PP_mtime, XrdFrmConfig::PP_pfn, XrdFrmConfig::PP_sname, XrdFrmConfig::pProg, XrdFrmConfig::pVec, XrdFrmConfig::pVecNum, XrdFrm::Say(), XrdOucProg::Setup(), sprintf(), XrdOucProg::Start(), XrdOss::StatVS(), XrdOucTList::text, XrdOssVSInfo::Total, totlSpace, XrdFrmConfig::VPList, and XRDABS.

Referenced by mainConfig().

static XrdFrmPurge* XrdFrmPurge::Policy ( const char *  sname  )  [inline, static]

Definition at line 35 of file XrdFrmPurge.hh.

References Find().

Referenced by mainConfig().

XrdFrmPurge * XrdFrmPurge::Policy ( const char *  sname,
long long  minV,
long long  maxV,
int  hVal,
int  xVal 
) [static]

Definition at line 561 of file XrdFrmPurge.cc.

References Ext, Find(), First, Hold, Hold2x, maxFSpace, minFSpace, and XrdFrmPurge().

void XrdFrmPurge::Purge (  )  [static]

Definition at line 584 of file XrdFrmPurge.cc.

References XrdSysError::Emsg(), First, Left2Do, LowOnSpace(), Next, PurgeFile(), XrdFrm::Say(), Stats(), and Stop.

Referenced by main().

void XrdFrmPurge::Add ( XrdFrmFileset fsp  )  [static, private]

Definition at line 168 of file XrdFrmPurge.cc.

References XrdFrmTSort::Add(), XrdFrmFileset::baseFile(), XrdFrmFileset::basePath(), DEBUG, Defer(), Eligible(), Enabled, EPNAME, Find(), FSTab, XrdOssPath::getCname(), Hold, XrdOucNSWalk::NSEnt::Link, XrdOucNSWalk::NSEnt::Lksz, XrdOssSpace::minSNbsz, and numFiles.

Referenced by Advance(), and Scan().

XrdFrmFileset * XrdFrmPurge::Advance (  )  [private]

Definition at line 207 of file XrdFrmPurge.cc.

References Add(), DeferQ, DeferQsz, DeferT, FSTab, Hold, if(), n, XrdFrmFileset::Next, XrdFrmTSort::Oldest(), and XrdFrmFileset::Refresh().

Referenced by PurgeFile().

void XrdFrmPurge::Clear (  )  [private]

Definition at line 236 of file XrdFrmPurge.cc.

References DeferQ, DeferQsz, DeferT, FSTab, XrdFrmFileset::Next, numFiles, prgFiles, purgBytes, and XrdFrmTSort::Purge().

Referenced by XrdFrmPurge(), and ~XrdFrmPurge().

void XrdFrmPurge::Defer ( XrdFrmFileset sP,
time_t  xTime 
) [private]

Definition at line 260 of file XrdFrmPurge.cc.

References XrdFrmFileset::baseFile(), DeferQ, DeferQsz, DeferT, XrdFrmFileset::Next, and XrdOucNSWalk::NSEnt::Stat.

Referenced by Add().

const char * XrdFrmPurge::Eligible ( XrdFrmFileset sP,
time_t &  xTime,
int  hTime = 0 
) [private]

Definition at line 324 of file XrdFrmPurge.cc.

References XrdFrmFileset::baseFile(), close, XrdSysError::Emsg(), XrdFrmFileset::failFile(), XrdFrmFileset::lockFile(), open, XrdOucNSWalk::NSEnt::Path, XrdFrmFileset::pinFile(), read, XrdFrm::Say(), and XrdOucNSWalk::NSEnt::Stat.

Referenced by Add(), and PurgeFile().

XrdFrmPurge * XrdFrmPurge::Find ( const char *  snp  )  [static, private]

Definition at line 393 of file XrdFrmPurge.cc.

References First, Next, and SName.

Referenced by Add(), Init(), and Policy().

int XrdFrmPurge::LowOnSpace (  )  [static, private]

>0 -> Purge is needed.

Definition at line 515 of file XrdFrmPurge.cc.

References XrdFrm::Config(), contSpace, Enabled, First, freeSpace, if(), Left2Do, minFSpace, Next, XrdFrmConfig::ossFS, SName, XrdOss::StatVS(), Stop, and usedSpace.

Referenced by Purge().

int XrdFrmPurge::PurgeFile (  )  [private]

Definition at line 619 of file XrdFrmPurge.cc.

References Advance(), XrdFrmFileset::baseFile(), XrdFrmFileset::basePath(), XrdFrmConfig::cmsPath, XrdFrm::Config(), DEBUG, Eligible(), EPNAME, Ext, freeSpace, FSTab, XrdNetCmsNotify::Gone(), Hold, maxFSpace, nextReset, XrdFrmTSort::Oldest(), XrdFrmConfig::ossFS, prgFiles, purgBytes, XrdFrmFileset::Refresh(), SName, XrdOucNSWalk::NSEnt::Stat, Stop, XrdFrmConfig::Test, Track(), XrdOss::Unlink(), XrdFrmConfig::Verbose, XPolOK(), XRDOSS_isMIG, and XRDOSS_isPFN.

Referenced by Purge().

void XrdFrmPurge::Remfix ( const char *  Ftype,
const char *  Fname 
) [static, private]

Definition at line 660 of file XrdFrmPurge.cc.

References XrdFrm::Config(), XrdSysError::Emsg(), XrdFrmConfig::ossFS, XrdFrm::Say(), XrdOss::Unlink(), and XRDOSS_isPFN.

Referenced by Screen().

void XrdFrmPurge::Scan (  )  [static, private]

Definition at line 673 of file XrdFrmPurge.cc.

References Add(), BadFiles, XrdFrmFiles::CompressD, XrdFrm::Config(), XrdFrmConfig::VPInfo::Dir, XrdFrmConfig::dirHold, XrdSysError::Emsg(), XrdFrmFiles::Get(), XrdFrmPurgeDir::lowDirTime, XrdFrmConfig::VPInfo::Name, XrdFrmConfig::VPInfo::Next, XrdFrmFiles::NoAutoDel, XrdFrmPurgeDir::numEMD, XrdFrmPurgeDir::numRMD, XrdMpx::Opts, XrdFrmConfig::pathList, XrdOucHash< T >::Purge(), XrdFrmFiles::Recursive, XrdFrmPurgeDir::Reset(), XrdFrm::Say(), Screen(), sprintf(), XrdFrmConfig::VPInfo::Val, and VMSG.

int XrdFrmPurge::Screen ( XrdFrmFileset sP,
int  needLF 
) [static, private]

Definition at line 745 of file XrdFrmPurge.cc.

References XrdOucHash< T >::Add(), BadFiles, XrdFrmFileset::baseFile(), XrdFrmFileset::basePath(), XrdFrm::Config(), XrdFrmFileset::dirPath(), XrdSysError::Emsg(), XrdFrmFileset::failFile(), XrdFrmFileset::failPath(), XrdFrmConfig::Fix, Hash_data_is_key, XrdFrmFileset::lockFile(), XrdFrmFileset::lockPath(), Remfix(), XrdFrm::Say(), and RooFit::What().

Referenced by Scan().

void XrdFrmPurge::Stats ( int  Final  )  [static, private]

Definition at line 781 of file XrdFrmPurge.cc.

References XrdFrmTSort::Count(), Enabled, First, XrdOucUtils::fmtBytes(), freeSpace, FSTab, maxFSpace, minFSpace, Next, numFiles, prgFiles, purgBytes, XrdFrm::Say(), XrdSysError::Say(), SName, sprintf(), totlSpace, and usedSpace.

Referenced by Purge().

void XrdFrmPurge::Track ( XrdFrmFileset sP  )  [private]

Definition at line 827 of file XrdFrmPurge.cc.

References XrdFrmFileset::baseFile(), XrdFrmFileset::basePath(), XrdFrm::Config(), XrdOucUtils::fmtBytes(), localtime_r, XrdFrm::Say(), XrdSysError::Say(), SName, sprintf(), XrdOucNSWalk::NSEnt::Stat, XrdFrmConfig::Test, and RooFit::What().

Referenced by PurgeFile().

const char * XrdFrmPurge::XPolOK ( XrdFrmFileset sP  )  [private]

Definition at line 853 of file XrdFrmPurge.cc.

References XrdFrmFileset::baseFile(), XrdFrmFileset::basePath(), XrdFrm::Config(), XrdOucNSWalk::NSEnt::File, freeSpace, i, k, XrdFrmConfig::PP_atime, XrdFrmConfig::PP_ctime, XrdFrmConfig::PP_fname, XrdFrmConfig::PP_fsize, XrdFrmConfig::PP_fspace, XrdFrmConfig::PP_mtime, XrdFrmConfig::PP_pfn, XrdFrmConfig::PP_sname, XrdFrmConfig::PP_tspace, XrdFrmConfig::PP_usage, purgBytes, XrdFrmConfig::pVec, XrdFrmConfig::pVecNum, SName, SNlen, spaceTLen, spaceTotl, sprintf(), XrdOucNSWalk::NSEnt::Stat, and usedSpace.

Referenced by PurgeFile().


Member Data Documentation

XrdOucProg * XrdFrmPurge::PolProg [static, private]

Definition at line 62 of file XrdFrmPurge.hh.

Referenced by Init().

XrdOucStream * XrdFrmPurge::PolStream [static, private]

Definition at line 63 of file XrdFrmPurge.hh.

Referenced by Init().

XrdOucHash< char > XrdFrmPurge::BadFiles [static, private]

Definition at line 67 of file XrdFrmPurge.hh.

Referenced by Scan(), and Screen().

time_t XrdFrmPurge::lastReset [static, private]

Definition at line 68 of file XrdFrmPurge.hh.

time_t XrdFrmPurge::nextReset [static, private]

Definition at line 69 of file XrdFrmPurge.hh.

Referenced by PurgeFile().

XrdFrmPurge * XrdFrmPurge::First [static, private]

Definition at line 71 of file XrdFrmPurge.hh.

Referenced by Display(), Find(), Init(), LowOnSpace(), Policy(), Purge(), and Stats().

XrdFrmPurge * XrdFrmPurge::Default [static, private]

Definition at line 72 of file XrdFrmPurge.hh.

int XrdFrmPurge::Left2Do [static, private]

Definition at line 74 of file XrdFrmPurge.hh.

Referenced by LowOnSpace(), and Purge().

long long XrdFrmPurge::freeSpace [private]

Definition at line 78 of file XrdFrmPurge.hh.

Referenced by LowOnSpace(), PurgeFile(), Stats(), XPolOK(), and XrdFrmPurge().

long long XrdFrmPurge::fconMaxsp [private]

Definition at line 79 of file XrdFrmPurge.hh.

long long XrdFrmPurge::usedSpace [private]

Definition at line 80 of file XrdFrmPurge.hh.

Referenced by LowOnSpace(), Stats(), XPolOK(), and XrdFrmPurge().

long long XrdFrmPurge::pmaxSpace [private]

Definition at line 81 of file XrdFrmPurge.hh.

Referenced by XrdFrmPurge().

long long XrdFrmPurge::totlSpace [private]

Definition at line 82 of file XrdFrmPurge.hh.

Referenced by Init(), Stats(), and XrdFrmPurge().

long long XrdFrmPurge::contSpace [private]

Definition at line 83 of file XrdFrmPurge.hh.

Referenced by LowOnSpace(), and XrdFrmPurge().

long long XrdFrmPurge::purgBytes [private]

Definition at line 84 of file XrdFrmPurge.hh.

Referenced by Clear(), PurgeFile(), Stats(), and XPolOK().

long long XrdFrmPurge::minFSpace [private]

Definition at line 85 of file XrdFrmPurge.hh.

Referenced by Display(), LowOnSpace(), Policy(), Stats(), and XrdFrmPurge().

long long XrdFrmPurge::maxFSpace [private]

Definition at line 86 of file XrdFrmPurge.hh.

Referenced by Display(), Policy(), PurgeFile(), Stats(), and XrdFrmPurge().

char* XrdFrmPurge::spaceTotl [private]

Definition at line 87 of file XrdFrmPurge.hh.

Referenced by XPolOK().

char* XrdFrmPurge::spaceTotP [private]

Definition at line 88 of file XrdFrmPurge.hh.

int XrdFrmPurge::spaceTLen [private]

Definition at line 89 of file XrdFrmPurge.hh.

Referenced by XPolOK().

int XrdFrmPurge::spaceTLep [private]

Definition at line 90 of file XrdFrmPurge.hh.

int XrdFrmPurge::Hold [private]

Definition at line 91 of file XrdFrmPurge.hh.

Referenced by Add(), Advance(), Display(), Policy(), and PurgeFile().

int XrdFrmPurge::Hold2x [private]

Definition at line 92 of file XrdFrmPurge.hh.

Referenced by Policy().

int XrdFrmPurge::Ext [private]

Definition at line 93 of file XrdFrmPurge.hh.

Referenced by Display(), Policy(), and PurgeFile().

int XrdFrmPurge::numFiles [private]

Definition at line 94 of file XrdFrmPurge.hh.

Referenced by Add(), Clear(), and Stats().

int XrdFrmPurge::prgFiles [private]

Definition at line 95 of file XrdFrmPurge.hh.

Referenced by Clear(), PurgeFile(), and Stats().

int XrdFrmPurge::Enabled [private]

Definition at line 96 of file XrdFrmPurge.hh.

Referenced by Add(), Display(), LowOnSpace(), Stats(), and XrdFrmPurge().

int XrdFrmPurge::Stop [private]

Definition at line 97 of file XrdFrmPurge.hh.

Referenced by LowOnSpace(), Purge(), PurgeFile(), and XrdFrmPurge().

int XrdFrmPurge::SNlen [private]

Definition at line 98 of file XrdFrmPurge.hh.

Referenced by XPolOK(), and XrdFrmPurge().

XrdFrmPurge* XrdFrmPurge::Next [private]

Definition at line 100 of file XrdFrmPurge.hh.

Referenced by Display(), Find(), Init(), LowOnSpace(), Purge(), Stats(), and XrdFrmPurge().

XrdFrmTSort XrdFrmPurge::FSTab [private]

Definition at line 101 of file XrdFrmPurge.hh.

Referenced by Add(), Advance(), Clear(), PurgeFile(), and Stats().

char XrdFrmPurge::SName[XrdOssSpace::minSNbsz] [private]

Definition at line 102 of file XrdFrmPurge.hh.

Referenced by Display(), Find(), LowOnSpace(), PurgeFile(), Stats(), Track(), XPolOK(), and XrdFrmPurge().

const int XrdFrmPurge::DeferQsz = 16 [static, private]

Definition at line 104 of file XrdFrmPurge.hh.

Referenced by Advance(), Clear(), and Defer().

XrdFrmFileset* XrdFrmPurge::DeferQ[DeferQsz] [private]

Definition at line 105 of file XrdFrmPurge.hh.

Referenced by Advance(), Clear(), Defer(), and XrdFrmPurge().

time_t XrdFrmPurge::DeferT[DeferQsz] [private]

Definition at line 106 of file XrdFrmPurge.hh.

Referenced by Advance(), Clear(), and Defer().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:33 2011 for ROOT_528-00b_version by  doxygen 1.5.1