![]() |
XRootD
|
#include <XrdPfcFsTraversal.hh>
Classes | |
struct | FilePairStat |
Public Member Functions | |
FsTraversal (XrdOss &oss) | |
~FsTraversal () | |
bool | begin_traversal (const char *root_path) |
bool | begin_traversal (DirState *root, const char *root_path) |
bool | cd_down (const std::string &dir_name) |
void | cd_up () |
int | close_delete (XrdOssDF *&ossDF) |
XrdOucEnv & | default_env () |
void | end_traversal () |
int | open_at_ro (const char *fname, XrdOssDF *&ossDF) |
void | slurp_current_dir () |
void | slurp_dir_ll (XrdOssDF &dh, int dir_level, const char *path, const char *trc_pfx) |
int | unlink_at (const char *fname) |
Public Attributes | |
std::vector< std::string > | m_current_dirs |
std::map< std::string, FilePairStat > | m_current_files |
std::string | m_current_path |
std::vector< XrdOssDF * > | m_dir_handle_stack |
DirState * | m_dir_state = nullptr |
std::set< std::string > | m_protected_top_dirs |
int | m_rel_dir_level = -1 |
DirState * | m_root_dir_state = nullptr |
Static Public Attributes | |
static const char * | m_traceID = "FsTraversal" |
Protected Attributes | |
XrdOucEnv | m_env |
bool | m_maintain_dirstate = false |
XrdOss & | m_oss |
XrdOssAt | m_oss_at |
Definition at line 20 of file XrdPfcFsTraversal.hh.
FsTraversal::FsTraversal | ( | XrdOss & | oss | ) |
Definition at line 23 of file XrdPfcFsTraversal.cc.
FsTraversal::~FsTraversal | ( | ) |
Definition at line 27 of file XrdPfcFsTraversal.cc.
bool FsTraversal::begin_traversal | ( | const char * | root_path | ) |
Definition at line 53 of file XrdPfcFsTraversal.cc.
References Macaroons::Error, m_current_path, m_dir_handle_stack, m_env, m_oss, m_rel_dir_level, XrdOss::newDir(), XrdOssDF::Opendir(), slurp_current_dir(), TRACE, TRACE_PURGE, XrdOssOK, and XrdSysE2T().
bool FsTraversal::begin_traversal | ( | DirState * | root, |
const char * | root_path | ||
) |
Definition at line 43 of file XrdPfcFsTraversal.cc.
References m_dir_state, m_maintain_dirstate, and m_root_dir_state.
Referenced by XrdPfc::ResourceMonitor::perform_initial_scan(), and XrdPfc::FPurgeState::TraverseNamespace().
bool FsTraversal::cd_down | ( | const std::string & | dir_name | ) |
Definition at line 96 of file XrdPfcFsTraversal.cc.
References Macaroons::Error, XrdPfc::DirState::find_dir(), m_current_path, m_dir_handle_stack, m_dir_state, m_env, m_maintain_dirstate, m_oss_at, m_rel_dir_level, XrdOssAt::Opendir(), slurp_current_dir(), TRACE, XrdOssOK, and XrdSysE2T().
Referenced by XrdPfc::FPurgeState::ProcessDirAndRecurse(), and XrdPfc::ResourceMonitor::scan_dir_and_recurse().
void FsTraversal::cd_up | ( | ) |
Definition at line 119 of file XrdPfcFsTraversal.cc.
References XrdPfc::DirState::get_parent(), m_current_dirs, m_current_files, m_current_path, m_dir_handle_stack, m_dir_state, m_maintain_dirstate, and m_rel_dir_level.
Referenced by XrdPfc::FPurgeState::ProcessDirAndRecurse(), and XrdPfc::ResourceMonitor::scan_dir_and_recurse().
int FsTraversal::close_delete | ( | XrdOssDF *& | ossDF | ) |
Definition at line 30 of file XrdPfcFsTraversal.cc.
References XrdOssDF::Close().
|
inline |
void FsTraversal::end_traversal | ( | ) |
Definition at line 76 of file XrdPfcFsTraversal.cc.
References m_current_dirs, m_current_files, m_current_path, m_dir_handle_stack, m_dir_state, m_maintain_dirstate, m_rel_dir_level, m_root_dir_state, and TRACE_PURGE.
Referenced by XrdPfc::ResourceMonitor::perform_initial_scan(), and XrdPfc::FPurgeState::TraverseNamespace().
|
inline |
Definition at line 72 of file XrdPfcFsTraversal.hh.
References m_dir_handle_stack, m_env, m_oss_at, and XrdOssAt::OpenRO().
void FsTraversal::slurp_current_dir | ( | ) |
Definition at line 137 of file XrdPfcFsTraversal.cc.
References m_current_path, m_dir_handle_stack, m_rel_dir_level, and slurp_dir_ll().
Referenced by begin_traversal(), and cd_down().
void FsTraversal::slurp_dir_ll | ( | XrdOssDF & | dh, |
int | dir_level, | ||
const char * | path, | ||
const char * | trc_pfx | ||
) |
Definition at line 147 of file XrdPfcFsTraversal.cc.
References Macaroons::Error, fstat(), m_current_dirs, m_current_files, m_protected_top_dirs, XrdOssDF::Readdir(), XrdPfc::Info::s_infoExtension, XrdPfc::Info::s_infoExtensionLen, stat(), XrdOssDF::StatRet(), TRACE, TRACE_PURGE, XrdOssOK, and XrdSysE2T().
Referenced by slurp_current_dir().
|
inline |
Definition at line 75 of file XrdPfcFsTraversal.hh.
References m_dir_handle_stack, m_oss_at, and XrdOssAt::Unlink().
std::vector<std::string> XrdPfc::FsTraversal::m_current_dirs |
Definition at line 51 of file XrdPfcFsTraversal.hh.
Referenced by cd_up(), end_traversal(), XrdPfc::FPurgeState::ProcessDirAndRecurse(), XrdPfc::ResourceMonitor::scan_dir_and_recurse(), and slurp_dir_ll().
std::map<std::string, FilePairStat> XrdPfc::FsTraversal::m_current_files |
Definition at line 52 of file XrdPfcFsTraversal.hh.
Referenced by cd_up(), end_traversal(), XrdPfc::FPurgeState::ProcessDirAndRecurse(), XrdPfc::ResourceMonitor::scan_dir_and_recurse(), and slurp_dir_ll().
std::string XrdPfc::FsTraversal::m_current_path |
Definition at line 45 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal(), cd_down(), cd_up(), XrdPfc::FPurgeState::CheckFile(), end_traversal(), XrdPfc::ResourceMonitor::scan_dir_and_recurse(), and slurp_current_dir().
std::vector<XrdOssDF*> XrdPfc::FsTraversal::m_dir_handle_stack |
Definition at line 49 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal(), cd_down(), cd_up(), end_traversal(), open_at_ro(), slurp_current_dir(), and unlink_at().
DirState* XrdPfc::FsTraversal::m_dir_state = nullptr |
Definition at line 42 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal(), cd_down(), cd_up(), end_traversal(), and XrdPfc::ResourceMonitor::scan_dir_and_recurse().
|
protected |
Definition at line 36 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal(), cd_down(), default_env(), and open_at_ro().
|
protected |
Definition at line 38 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal(), cd_down(), cd_up(), and end_traversal().
|
protected |
Definition at line 34 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal().
|
protected |
Definition at line 35 of file XrdPfcFsTraversal.hh.
Referenced by cd_down(), open_at_ro(), and unlink_at().
std::set<std::string> XrdPfc::FsTraversal::m_protected_top_dirs |
Definition at line 54 of file XrdPfcFsTraversal.hh.
Referenced by XrdPfc::ResourceMonitor::perform_initial_scan(), slurp_dir_ll(), and XrdPfc::FPurgeState::TraverseNamespace().
int XrdPfc::FsTraversal::m_rel_dir_level = -1 |
Definition at line 44 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal(), cd_down(), cd_up(), end_traversal(), and slurp_current_dir().
DirState* XrdPfc::FsTraversal::m_root_dir_state = nullptr |
Definition at line 41 of file XrdPfcFsTraversal.hh.
Referenced by begin_traversal(), and end_traversal().
|
static |
Definition at line 56 of file XrdPfcFsTraversal.hh.