CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
publish::SyncItemNative Class Reference

#include <sync_item.h>

Inheritance diagram for publish::SyncItemNative:
Collaboration diagram for publish::SyncItemNative:

Protected Member Functions

 SyncItemNative (const std::string &relative_parent_path, const std::string &filename, const SyncUnion *union_engine, const SyncItemType entry_type)
 
- Protected Member Functions inherited from publish::SyncItem
 SyncItem (const std::string &relative_parent_path, const std::string &filename, const SyncUnion *union_engine, const SyncItemType entry_type)
 
platform_stat64 GetUnionStat () const
 
SyncItemType GetRdOnlyFiletype () const
 
SyncItemType GetUnionFiletype () const
 
bool WasType (const SyncItemType expected_type) const
 
SyncItemType GetGenericFiletype (const EntryStat &stat) const
 
void CheckMarkerFiles ()
 

Private Member Functions

virtual catalog::DirectoryEntryBase CreateBasicCatalogDirent (bool enable_mtime_ns) const
 
virtual IngestionSourceCreateIngestionSource () const
 
virtual void MakePlaceholderDirectory () const
 
virtual SyncItemType GetScratchFiletype () const
 
virtual bool IsType (const SyncItemType expected_type) const
 
virtual void StatScratch (const bool refresh) const
 

Friends

class SyncUnion
 

Additional Inherited Members

- Public Member Functions inherited from publish::SyncItem
 SyncItem ()
 
virtual ~SyncItem ()
 
bool IsDirectory () const
 
bool WasDirectory () const
 
bool IsRegularFile () const
 
bool WasRegularFile () const
 
bool IsSymlink () const
 
bool WasSymlink () const
 
bool IsNew () const
 
bool IsTouched () const
 
bool IsCharacterDevice () const
 
bool IsBlockDevice () const
 
bool IsFifo () const
 
bool IsSocket () const
 
bool IsGraftMarker () const
 
bool IsExternalData () const
 
bool IsDirectIo () const
 
bool IsWhiteout () const
 
bool IsCatalogMarker () const
 
bool IsOpaqueDirectory () const
 
bool IsSpecialFile () const
 
bool WasSpecialFile () const
 
bool IsBundleSpec () const
 
bool WasBundleSpec () const
 
unsigned int GetRdevMajor () const
 
unsigned int GetRdevMinor () const
 
bool HasCatalogMarker () const
 
bool HasGraftMarker () const
 
bool HasCompressionAlgorithm () const
 
bool IsValidGraft () const
 
bool IsChunkedGraft () const
 
const FileChunkListGetGraftChunks () const
 
shash::Any GetContentHash () const
 
void SetContentHash (const shash::Any &hash)
 
bool HasContentHash () const
 
void SetExternalData (bool val)
 
void SetDirectIo (bool val)
 
zlib::Algorithms GetCompressionAlgorithm () const
 
void SetCompressionAlgorithm (const zlib::Algorithms &alg)
 
std::string GetRelativePath () const
 
std::string GetRdOnlyPath () const
 
std::string GetUnionPath () const
 
std::string GetScratchPath () const
 
void MarkAsWhiteout (const std::string &actual_filename)
 
void MarkAsOpaqueDirectory ()
 
void MaskHardlink ()
 
bool HasHardlinks () const
 
unsigned int GetRdOnlyLinkcount () const
 
uint64_t GetRdOnlyInode () const
 
unsigned int GetUnionLinkcount () const
 
uint64_t GetUnionInode () const
 
uint64_t GetScratchSize () const
 
uint64_t GetRdOnlySize () const
 
std::string filename () const
 
std::string relative_parent_path () const
 
void SetCatalogMarker ()
 
bool operator== (const SyncItem &other) const
 
- Static Protected Member Functions inherited from publish::SyncItem
static void StatGeneric (const std::string &path, EntryStat *info, const bool refresh)
 
- Protected Attributes inherited from publish::SyncItem
SyncItemType rdonly_type_
 
EntryStat scratch_stat_
 
ssize_t graft_size_
 
shash::Any content_hash_
 
SyncItemType scratch_type_
 

Detailed Description

Definition at line 330 of file sync_item.h.

Constructor & Destructor Documentation

publish::SyncItemNative::SyncItemNative ( const std::string &  relative_parent_path,
const std::string &  filename,
const SyncUnion union_engine,
const SyncItemType  entry_type 
)
inlineprotected

Definition at line 343 of file sync_item.h.

Here is the call graph for this function:

Member Function Documentation

catalog::DirectoryEntryBase publish::SyncItemNative::CreateBasicCatalogDirent ( bool  enable_mtime_ns) const
privatevirtual

Generates a DirectoryEntry that can be directly stored into a catalog db. Note: this sets the inode fields to kInvalidInode as well as the link count to 1 if MaskHardlink() has been called before (cf. OverlayFS)

If nanosecond timestamps are off, the directory entry will have a default initialized, negative nanosecond timestamp and as a result the corresponding field in the catalog table will be NULL.

Returns
a DirectoryEntry structure to be written into a catalog

Implements publish::SyncItem.

Reimplemented in publish::SyncItemDummyDir.

Definition at line 204 of file sync_item.cc.

Here is the call graph for this function:

IngestionSource * publish::SyncItemNative::CreateIngestionSource ( ) const
privatevirtual

Implements publish::SyncItem.

Definition at line 190 of file sync_item.cc.

Here is the call graph for this function:

SyncItemType publish::SyncItemNative::GetScratchFiletype ( ) const
privatevirtual

Implements publish::SyncItem.

Reimplemented in publish::SyncItemDummyDir.

Definition at line 98 of file sync_item.cc.

Referenced by IsType().

Here is the call graph for this function:

Here is the caller graph for this function:

bool publish::SyncItemNative::IsType ( const SyncItemType  expected_type) const
privatevirtual

Checks if the SyncItem is the given file type (file, dir, symlink, ...) in the union file system volume. Hence: After the publish operation, the file will be this type in CVMFS.

Parameters
expected_typethe file type to be checked against
Returns
true if file type matches the expected type

Implements publish::SyncItem.

Definition at line 115 of file sync_item.cc.

Here is the call graph for this function:

virtual void publish::SyncItemNative::MakePlaceholderDirectory ( ) const
inlineprivatevirtual

Implements publish::SyncItem.

Reimplemented in publish::SyncItemDummyDir.

Definition at line 335 of file sync_item.h.

Here is the call graph for this function:

virtual void publish::SyncItemNative::StatScratch ( const bool  refresh) const
inlineprivatevirtual

Implements publish::SyncItem.

Definition at line 338 of file sync_item.h.

Referenced by GetScratchFiletype().

Here is the call graph for this function:

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class SyncUnion
friend

Definition at line 331 of file sync_item.h.


The documentation for this class was generated from the following files: