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

#include <glue_buffer.h>

Public Types

enum  EFileType {
  kUnknownType = 0, kRegular = 010, kSymlink = 012, kDirectory = 004,
  kFifo = 001, kSocket = 014, kCharDev = 002, kBulkDev = 006
}
 

Public Member Functions

 InodeEx ()
 
 InodeEx (uint64_t inode, EFileType type)
 
 InodeEx (uint64_t inode, unsigned mode)
 
uint64_t GetInode () const
 
EFileType GetFileType () const
 
bool operator== (const InodeEx &other) const
 
bool operator!= (const InodeEx &other) const
 
bool IsCompatibleFileType (unsigned mode) const
 

Static Private Member Functions

static uint64_t ShiftMode (unsigned mode)
 

Private Attributes

uint64_t inode_ex_
 

Detailed Description

Inode + file type. Stores the file type in the 4 most significant bits of the 64 bit unsigned integer representing the inode. That makes the class compatible with a pure 64bit inode used in previous cvmfs versions in the inode tracker. The file type is stored using the POSIX representation in the inode's mode field. Note that InodeEx, used as a hash table key, hashes only over the inode part.

Definition at line 49 of file glue_buffer.h.

Member Enumeration Documentation

Enumerator
kUnknownType 
kRegular 
kSymlink 
kDirectory 
kFifo 
kSocket 
kCharDev 
kBulkDev 

Definition at line 56 of file glue_buffer.h.

Constructor & Destructor Documentation

glue::InodeEx::InodeEx ( )
inline

Definition at line 67 of file glue_buffer.h.

glue::InodeEx::InodeEx ( uint64_t  inode,
EFileType  type 
)
inline

Definition at line 68 of file glue_buffer.h.

glue::InodeEx::InodeEx ( uint64_t  inode,
unsigned  mode 
)
inline

Definition at line 71 of file glue_buffer.h.

Member Function Documentation

EFileType glue::InodeEx::GetFileType ( ) const
inline

Definition at line 76 of file glue_buffer.h.

Referenced by IsCompatibleFileType().

Here is the caller graph for this function:

uint64_t glue::InodeEx::GetInode ( ) const
inline

Definition at line 75 of file glue_buffer.h.

Referenced by glue::hasher_inode_ex(), operator!=(), operator==(), glue::InodeTracker::ReplaceInode(), and glue::InodeTracker::VfsGetBy().

Here is the caller graph for this function:

bool glue::InodeEx::IsCompatibleFileType ( unsigned  mode) const
inline

Definition at line 87 of file glue_buffer.h.

Referenced by cvmfs::GetDirentForInode().

Here is the call graph for this function:

Here is the caller graph for this function:

bool glue::InodeEx::operator!= ( const InodeEx other) const
inline

Definition at line 83 of file glue_buffer.h.

Here is the call graph for this function:

bool glue::InodeEx::operator== ( const InodeEx other) const
inline

Definition at line 80 of file glue_buffer.h.

Here is the call graph for this function:

static uint64_t glue::InodeEx::ShiftMode ( unsigned  mode)
inlinestaticprivate

Definition at line 53 of file glue_buffer.h.

Referenced by IsCompatibleFileType().

Here is the caller graph for this function:

Member Data Documentation

uint64_t glue::InodeEx::inode_ex_
private

Definition at line 93 of file glue_buffer.h.

Referenced by GetFileType(), and GetInode().


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