#include <XrdFrmPurge.hh>
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 XrdFrmPurge * | Policy (const char *sname) |
static XrdFrmPurge * | Policy (const char *sname, long long minV, long long maxV, int hVal, int xVal) |
static void | Purge () |
Private Member Functions | |
XrdFrmFileset * | Advance () |
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 XrdFrmPurge * | Find (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 |
XrdFrmPurge * | Next |
XrdFrmTSort | FSTab |
char | SName [XrdOssSpace::minSNbsz] |
XrdFrmFileset * | DeferQ [DeferQsz] |
time_t | DeferT [DeferQsz] |
Static Private Attributes | |
static XrdOucProg * | PolProg |
static XrdOucStream * | PolStream |
static XrdOucHash< char > | BadFiles |
static time_t | lastReset |
static time_t | nextReset |
static XrdFrmPurge * | First |
static XrdFrmPurge * | Default |
static int | Left2Do |
static const int | DeferQsz = 16 |
Definition at line 27 of file XrdFrmPurge.hh.
XrdFrmPurge::XrdFrmPurge | ( | const char * | snp, | |
XrdFrmPurge * | spp = 0 | |||
) |
XrdFrmPurge::~XrdFrmPurge | ( | ) | [inline] |
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] |
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.
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] |
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().
XrdOucProg * XrdFrmPurge::PolProg [static, private] |
XrdOucStream * XrdFrmPurge::PolStream [static, private] |
XrdOucHash< char > XrdFrmPurge::BadFiles [static, private] |
time_t XrdFrmPurge::lastReset [static, private] |
Definition at line 68 of file XrdFrmPurge.hh.
time_t XrdFrmPurge::nextReset [static, private] |
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] |
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] |
long long XrdFrmPurge::totlSpace [private] |
long long XrdFrmPurge::contSpace [private] |
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] |
char* XrdFrmPurge::spaceTotP [private] |
Definition at line 88 of file XrdFrmPurge.hh.
int XrdFrmPurge::spaceTLen [private] |
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] |
int XrdFrmPurge::Ext [private] |
int XrdFrmPurge::numFiles [private] |
int XrdFrmPurge::prgFiles [private] |
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] |
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] |
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] |