#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 Error, m_current_path, m_dir_handle_stack, m_env, m_oss, m_rel_dir_level, 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 begin_traversal(), m_dir_state, m_maintain_dirstate, and m_root_dir_state.
Referenced by begin_traversal(), 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 Error, m_current_path, m_dir_handle_stack, m_dir_state, m_env, m_maintain_dirstate, m_oss_at, m_rel_dir_level, 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 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, and m_oss_at.
| 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 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, and m_oss_at.
| 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 FsTraversal(), and begin_traversal().
|
protected |
Definition at line 35 of file XrdPfcFsTraversal.hh.
Referenced by FsTraversal(), 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.