![]() |
CernVM-FS
2.13.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 |
bool | HasMtimeNs () const |
inode_t | inode () const |
uint32_t | linkcount () const |
NameString | name () const |
LinkString | symlink () const |
time_t | mtime () const |
int32_t | mtime_ns () 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_ |
int32_t | mtime_ns_ |
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 268 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 288 of file directory_entry.h.
|
inline |
Definition at line 298 of file directory_entry.h.
|
inlineexplicit |
DirectoryEntryBase::Differences catalog::DirectoryEntry::CompareTo | ( | const DirectoryEntry & | other | ) | const |
Definition at line 47 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 318 of file directory_entry.h.
Referenced by cvmfs::cvmfs_lookup(), LibContext::GetDirentForPath(), cvmfs::GetDirentForPath(), and cvmfs::ReplyNegative().
|
inline |
Definition at line 338 of file directory_entry.h.
Referenced by swissknife::CommandCheck::CompareEntries(), CompareTo(), and swissknife::CommandMigrate::MigrationWorker_20x::FindRootEntryInformation().
|
inline |
Definition at line 335 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::CloneTreeImpl(), CompareTo(), and catalog::SqlDirent::CreateDatabaseFlags().
|
inline |
Definition at line 336 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(), glue::PageCacheTracker::IsStale(), 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 337 of file directory_entry.h.
Referenced by CompareTo(), catalog::SqlDirent::CreateDatabaseFlags(), CatalogDiffTool< RoCatalogMgr >::DiffRec(), and catalog::Catalog::ListingMd5PathStat().
|
inline |
Definition at line 330 of file directory_entry.h.
Referenced by catalog::CatalogDatabase::InsertInitialValues().
|
inline |
Definition at line 332 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 331 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(), catalog::WritableCatalogManager::GraftNestedCatalog(), swissknife::CommandCheck::InspectTree(), catalog::WritableCatalogManager::IsTransitionPoint(), catalog::WritableCatalog::MakeTransitionPoint(), and catalog::WritableCatalogManager::RemoveDirectory().
|
inline |
Definition at line 326 of file directory_entry.h.
|
inline |
|
inline |
Definition at line 340 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddHardlinkGroup().
|
inline |
Definition at line 349 of file directory_entry.h.
Referenced by catalog::VirtualCatalog::InsertSnapshot().
|
inline |
Definition at line 352 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddHardlinkGroup().
|
inline |
Definition at line 353 of file directory_entry.h.
Referenced by catalog::VirtualCatalog::CreateBaseDirectory().
|
inline |
Definition at line 343 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddDirectory(), catalog::WritableCatalog::CopyToParent(), catalog::WritableCatalogManager::GraftNestedCatalog(), catalog::WritableCatalog::MakeTransitionPoint(), swissknife::CommandMigrate::MigrationWorker_20x::RemoveDanglingNestedMountpoints(), catalog::WritableCatalogManager::RemoveDirectory(), and catalog::WritableCatalogManager::SwapNestedCatalog().
|
inline |
Definition at line 346 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddDirectory(), catalog::WritableCatalogManager::GraftNestedCatalog(), catalog::WritableCatalog::MakeNestedRoot(), catalog::WritableCatalogManager::RemoveDirectory(), and catalog::WritableCatalogManager::SwapNestedCatalog().
|
friend |
Definition at line 278 of file directory_entry.h.
|
friend |
Definition at line 272 of file directory_entry.h.
|
friend |
Definition at line 270 of file directory_entry.h.
|
friend |
Definition at line 274 of file directory_entry.h.
|
friend |
Definition at line 276 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 360 of file directory_entry.h.
Referenced by catalog::SqlDirentWrite::BindDirentFields(), catalog::SqlLookup::GetDirent(), hardlink_group(), and set_hardlink_group().
|
private |
Definition at line 365 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsBindMountpoint(), and set_is_bind_mountpoint().
|
private |
Definition at line 366 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsChunkedFile(), and set_is_chunked_file().
|
private |
Definition at line 367 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsHidden(), and set_is_hidden().
|
private |
Definition at line 368 of file directory_entry.h.
Referenced by GetSpecial(), and IsNegative().
|
private |
Definition at line 364 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsNestedCatalogMountpoint(), and set_is_nested_catalog_mountpoint().
|
private |
Definition at line 363 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsNestedCatalogRoot(), and set_is_nested_catalog_root().