![]() |
CernVM-FS
2.11.0
|
#include <directory_entry.h>
Public Member Functions | |
DirectoryEntry (const DirectoryEntryBase &base) | |
DirectoryEntry () | |
DirectoryEntry (SpecialDirents special_type) | |
SpecialDirents | GetSpecial () const |
Differences | CompareTo (const DirectoryEntry &other) const |
bool | operator== (const DirectoryEntry &other) const |
bool | operator!= (const DirectoryEntry &other) const |
bool | IsNegative () const |
bool | IsNestedCatalogRoot () const |
bool | IsNestedCatalogMountpoint () const |
bool | IsBindMountpoint () const |
bool | IsChunkedFile () const |
bool | IsHidden () const |
uint32_t | hardlink_group () const |
void | set_hardlink_group (const uint32_t group) |
void | set_is_nested_catalog_mountpoint (const bool val) |
void | set_is_nested_catalog_root (const bool val) |
void | set_is_bind_mountpoint (const bool val) |
void | set_is_chunked_file (const bool val) |
void | set_is_hidden (const bool val) |
![]() | |
DirectoryEntryBase () | |
bool | IsRegular () const |
bool | IsLink () const |
bool | IsDirectory () const |
bool | IsFifo () const |
bool | IsSocket () const |
bool | IsCharDev () const |
bool | IsBlockDev () const |
bool | IsSpecial () const |
bool | IsExternalFile () const |
bool | IsDirectIo () const |
bool | HasXattrs () const |
inode_t | inode () const |
uint32_t | linkcount () const |
NameString | name () const |
LinkString | symlink () const |
time_t | mtime () const |
unsigned int | mode () const |
uid_t | uid () const |
gid_t | gid () const |
shash::Any | checksum () const |
const shash::Any * | checksum_ptr () const |
shash::Algorithms | hash_algorithm () const |
uint64_t | size () const |
dev_t | rdev () const |
std::string | GetFullPath (const std::string &parent_directory) const |
void | set_inode (const inode_t inode) |
void | set_linkcount (const uint32_t linkcount) |
void | set_symlink (const LinkString &symlink) |
void | set_has_xattrs (const bool has_xattrs) |
zlib::Algorithms | compression_algorithm () const |
struct stat | GetStatStructure () const |
Differences | CompareTo (const DirectoryEntryBase &other) const |
bool | operator== (const DirectoryEntryBase &other) const |
bool | operator!= (const DirectoryEntryBase &other) const |
Private Attributes | |
uint32_t | hardlink_group_ |
bool | is_nested_catalog_root_ |
bool | is_nested_catalog_mountpoint_ |
bool | is_bind_mountpoint_ |
bool | is_chunked_file_ |
bool | is_hidden_ |
bool | is_negative_ |
Friends | |
class | SqlLookup |
class | SqlDirentWrite |
class | swissknife::CommandMigrate |
class | WritableCatalogManager |
class | DirectoryEntryTestFactory |
Additional Inherited Members | |
![]() | |
typedef unsigned int | Differences |
![]() | |
static const inode_t | kInvalidInode = 0 |
![]() | |
inode_t | inode_ |
NameString | name_ |
unsigned int | mode_ |
uid_t | uid_ |
gid_t | gid_ |
uint64_t | size_ |
time_t | mtime_ |
LinkString | symlink_ |
uint32_t | linkcount_ |
bool | has_xattrs_ |
shash::Any | checksum_ |
bool | is_external_file_ |
bool | is_direct_io_ |
zlib::Algorithms | compression_algorithm_ |
In addition to the file system meta-data covered by DirectoryEntryBase, DirectoryEntries contain cvmfs-specific meta data. Currently these are the following things:
Definition at line 252 of file directory_entry.h.
|
inlineexplicit |
This is kind of a copy constructor allowing us to create DirectoryEntries directly from DirectoryEntryBase objects. We make it explicit, to disallow black magic from happening. It uses the copy constructor of DirectoryEntryBase and initializes the additional fields of DirectoryEntry.
Definition at line 272 of file directory_entry.h.
|
inline |
Definition at line 282 of file directory_entry.h.
|
inlineexplicit |
DirectoryEntryBase::Differences catalog::DirectoryEntry::CompareTo | ( | const DirectoryEntry & | other | ) | const |
Definition at line 42 of file directory_entry.cc.
Referenced by swissknife::CommandCheck::CompareEntries(), CatalogDiffTool< RoCatalogMgr >::DiffRec(), swissknife::CommandMigrate::MigrationWorker_20x::FixNestedCatalogTransitionPoints(), anonymous_namespace{cmd_diff.cc}::DiffReporter::OnModify(), and operator==().
|
inline |
Definition at line 300 of file directory_entry.h.
Referenced by cvmfs::cvmfs_lookup(), LibContext::GetDirentForPath(), cvmfs::GetDirentForPath(), and cvmfs::ReplyNegative().
|
inline |
Definition at line 320 of file directory_entry.h.
Referenced by swissknife::CommandCheck::CompareEntries(), CompareTo(), and swissknife::CommandMigrate::MigrationWorker_20x::FindRootEntryInformation().
|
inline |
Definition at line 317 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::CloneTreeImpl(), CompareTo(), and catalog::SqlDirent::CreateDatabaseFlags().
|
inline |
Definition at line 318 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddFile(), catalog::WritableCatalogManager::AddHardlinkGroup(), catalog::DeltaCounters::ApplyDelta(), CompareTo(), catalog::SqlDirent::CreateDatabaseFlags(), cvmfs::cvmfs_open(), CatalogDiffTool< RoCatalogMgr >::DiffRec(), cvmfs::Evict(), LibContext::GetExtAttr(), cvmfs::HasDifferentContent(), LibContext::Open(), cvmfs::Pin(), ChunkListMagicXattr::PrepareValueFenced(), ChunksMagicXattr::PrepareValueFenced(), catalog::WritableCatalog::RemoveEntry(), receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::ReportAddition(), and receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::ReportModification().
|
inline |
Definition at line 319 of file directory_entry.h.
Referenced by CompareTo(), catalog::SqlDirent::CreateDatabaseFlags(), CatalogDiffTool< RoCatalogMgr >::DiffRec(), and catalog::Catalog::ListingMd5PathStat().
|
inline |
Definition at line 312 of file directory_entry.h.
Referenced by catalog::CatalogDatabase::InsertInitialValues().
|
inline |
Definition at line 314 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::CloneTreeImpl(), CompareTo(), catalog::WritableCatalog::CopyToParent(), catalog::SqlDirent::CreateDatabaseFlags(), CatalogDiffTool< RoCatalogMgr >::DiffRec(), swissknife::CommandApplyDirtab::FilterCandidatesFromGlobResult(), catalog::CatalogBalancer< CatalogMgrT >::VirtualNode::IsCatalog(), catalog::WritableCatalog::MakeNestedRoot(), swissknife::CommandMigrate::MigrationWorker_20x::RemoveDanglingNestedMountpoints(), receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::ReportAddition(), receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::ReportModification(), receiver::CatalogMergeTool< RwCatalogMgr, RoCatalogMgr >::ReportRemoval(), and catalog::WritableCatalogManager::TouchDirectory().
|
inline |
Definition at line 313 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddDirectory(), catalog::WritableCatalogManager::CloneTreeImpl(), CompareTo(), catalog::WritableCatalog::CopyToParent(), catalog::SqlDirent::CreateDatabaseFlags(), swissknife::CommandApplyDirtab::FilterCandidatesFromGlobResult(), catalog::Catalog::FixTransitionPoint(), swissknife::CommandCheck::InspectTree(), catalog::WritableCatalogManager::IsTransitionPoint(), catalog::WritableCatalog::MakeTransitionPoint(), and catalog::WritableCatalogManager::RemoveDirectory().
|
inline |
Definition at line 308 of file directory_entry.h.
|
inline |
|
inline |
Definition at line 322 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddHardlinkGroup().
|
inline |
Definition at line 331 of file directory_entry.h.
Referenced by catalog::VirtualCatalog::InsertSnapshot().
|
inline |
Definition at line 334 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddHardlinkGroup().
|
inline |
Definition at line 337 of file directory_entry.h.
Referenced by catalog::VirtualCatalog::CreateBaseDirectory().
|
inline |
Definition at line 325 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddDirectory(), catalog::WritableCatalog::CopyToParent(), catalog::WritableCatalog::MakeTransitionPoint(), swissknife::CommandMigrate::MigrationWorker_20x::RemoveDanglingNestedMountpoints(), catalog::WritableCatalogManager::RemoveDirectory(), and catalog::WritableCatalogManager::SwapNestedCatalog().
|
inline |
Definition at line 328 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddDirectory(), catalog::WritableCatalog::MakeNestedRoot(), catalog::WritableCatalogManager::RemoveDirectory(), and catalog::WritableCatalogManager::SwapNestedCatalog().
|
friend |
Definition at line 262 of file directory_entry.h.
|
friend |
Definition at line 256 of file directory_entry.h.
|
friend |
Definition at line 254 of file directory_entry.h.
|
friend |
Definition at line 258 of file directory_entry.h.
|
friend |
Definition at line 260 of file directory_entry.h.
|
private |
Hardlink handling is emulated in CVMFS. Since inodes are allocated on demand we save hardlink relationships using the same hardlink_group.
Definition at line 346 of file directory_entry.h.
Referenced by catalog::SqlDirentWrite::BindDirentFields(), catalog::SqlLookup::GetDirent(), hardlink_group(), and set_hardlink_group().
|
private |
Definition at line 351 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsBindMountpoint(), and set_is_bind_mountpoint().
|
private |
Definition at line 352 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsChunkedFile(), and set_is_chunked_file().
|
private |
Definition at line 353 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsHidden(), and set_is_hidden().
|
private |
Definition at line 354 of file directory_entry.h.
Referenced by GetSpecial(), and IsNegative().
|
private |
Definition at line 350 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsNestedCatalogMountpoint(), and set_is_nested_catalog_mountpoint().
|
private |
Definition at line 349 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsNestedCatalogRoot(), and set_is_nested_catalog_root().