CernVM-FS
2.12.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) |
Public Member Functions inherited from catalog::DirectoryEntryBase | |
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 | |
Public Types inherited from catalog::DirectoryEntryBase | |
typedef unsigned int | Differences |
Static Public Attributes inherited from catalog::DirectoryEntryBase | |
static const inode_t | kInvalidInode = 0 |
Protected Attributes inherited from catalog::DirectoryEntryBase | |
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 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 316 of file directory_entry.h.
Referenced by cvmfs::cvmfs_lookup(), LibContext::GetDirentForPath(), cvmfs::GetDirentForPath(), and cvmfs::ReplyNegative().
|
inline |
Definition at line 336 of file directory_entry.h.
Referenced by swissknife::CommandCheck::CompareEntries(), CompareTo(), and swissknife::CommandMigrate::MigrationWorker_20x::FindRootEntryInformation().
|
inline |
Definition at line 333 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::CloneTreeImpl(), CompareTo(), and catalog::SqlDirent::CreateDatabaseFlags().
|
inline |
Definition at line 334 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 335 of file directory_entry.h.
Referenced by CompareTo(), catalog::SqlDirent::CreateDatabaseFlags(), CatalogDiffTool< RoCatalogMgr >::DiffRec(), and catalog::Catalog::ListingMd5PathStat().
|
inline |
Definition at line 328 of file directory_entry.h.
Referenced by catalog::CatalogDatabase::InsertInitialValues().
|
inline |
Definition at line 330 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 329 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 324 of file directory_entry.h.
|
inline |
|
inline |
Definition at line 338 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddHardlinkGroup().
|
inline |
Definition at line 347 of file directory_entry.h.
Referenced by catalog::VirtualCatalog::InsertSnapshot().
|
inline |
Definition at line 350 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 341 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 344 of file directory_entry.h.
Referenced by catalog::WritableCatalogManager::AddDirectory(), 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 362 of file directory_entry.h.
Referenced by catalog::SqlDirentWrite::BindDirentFields(), catalog::SqlLookup::GetDirent(), hardlink_group(), and set_hardlink_group().
|
private |
Definition at line 367 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsBindMountpoint(), and set_is_bind_mountpoint().
|
private |
Definition at line 368 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsChunkedFile(), and set_is_chunked_file().
|
private |
Definition at line 369 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsHidden(), and set_is_hidden().
|
private |
Definition at line 370 of file directory_entry.h.
Referenced by GetSpecial(), and IsNegative().
|
private |
Definition at line 366 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsNestedCatalogMountpoint(), and set_is_nested_catalog_mountpoint().
|
private |
Definition at line 365 of file directory_entry.h.
Referenced by catalog::SqlLookup::GetDirent(), IsNestedCatalogRoot(), and set_is_nested_catalog_root().