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

#include <glue_buffer.h>

Collaboration diagram for glue::InodeTracker:

Classes

struct  Cursor
 
struct  Statistics
 

Public Member Functions

Statistics GetStatistics ()
 
 InodeTracker ()
 
 InodeTracker (const InodeTracker &other)
 
InodeTrackeroperator= (const InodeTracker &other)
 
 ~InodeTracker ()
 
void VfsGetBy (const uint64_t inode, const uint32_t by, const PathString &path)
 
void VfsGet (const uint64_t inode, const PathString &path)
 
void VfsPut (const uint64_t inode, const uint32_t by)
 
bool FindPath (const uint64_t inode, PathString *path)
 
uint64_t FindInode (const PathString &path)
 
Cursor BeginEnumerate ()
 
bool NextEntry (Cursor *cursor, uint64_t *inode_parent, NameString *name)
 
bool NextInode (Cursor *cursor, uint64_t *inode)
 
void EndEnumerate (Cursor *cursor)
 

Private Member Functions

void InitLock ()
 
void CopyFrom (const InodeTracker &other)
 
void Lock () const
 
void Unlock () const
 

Private Attributes

unsigned version_
 
pthread_mutex_t * lock_
 
PathMap path_map_
 
InodeMap inode_map_
 
InodeReferences inode_references_
 
Statistics statistics_
 

Static Private Attributes

static const unsigned kVersion = 4
 

Detailed Description

Tracks inode reference counters as given by Fuse.

Definition at line 474 of file glue_buffer.h.

Constructor & Destructor Documentation

glue::InodeTracker::InodeTracker ( )

Definition at line 81 of file glue_buffer.cc.

glue::InodeTracker::InodeTracker ( const InodeTracker other)
explicit

Definition at line 87 of file glue_buffer.cc.

glue::InodeTracker::~InodeTracker ( )

Definition at line 102 of file glue_buffer.cc.

Referenced by RestoreState().

Here is the caller graph for this function:

Member Function Documentation

Cursor glue::InodeTracker::BeginEnumerate ( )
inline

Definition at line 582 of file glue_buffer.h.

Referenced by FuseInvalidator::MainInvalidator(), and TalkManager::MainResponder().

Here is the call graph for this function:

Here is the caller graph for this function:

void glue::InodeTracker::CopyFrom ( const InodeTracker other)
private

Definition at line 71 of file glue_buffer.cc.

Here is the call graph for this function:

void glue::InodeTracker::EndEnumerate ( Cursor cursor)
inline

Definition at line 607 of file glue_buffer.h.

Referenced by FuseInvalidator::MainInvalidator(), and TalkManager::MainResponder().

Here is the call graph for this function:

Here is the caller graph for this function:

uint64_t glue::InodeTracker::FindInode ( const PathString path)
inline

Definition at line 574 of file glue_buffer.h.

Referenced by cvmfs::GetDirentForPath().

Here is the call graph for this function:

Here is the caller graph for this function:

bool glue::InodeTracker::FindPath ( const uint64_t  inode,
PathString path 
)
inline

Definition at line 556 of file glue_buffer.h.

Referenced by cvmfs::GetDirentForInode(), and cvmfs::GetPathForInode().

Here is the call graph for this function:

Here is the caller graph for this function:

Statistics glue::InodeTracker::GetStatistics ( )
inline

Definition at line 517 of file glue_buffer.h.

Referenced by TalkManager::MainResponder().

Here is the caller graph for this function:

void glue::InodeTracker::InitLock ( )
private

Definition at line 63 of file glue_buffer.cc.

Here is the call graph for this function:

void glue::InodeTracker::Lock ( ) const
inlineprivate

Definition at line 616 of file glue_buffer.h.

Referenced by BeginEnumerate(), FindInode(), FindPath(), VfsGetBy(), and VfsPut().

Here is the call graph for this function:

Here is the caller graph for this function:

bool glue::InodeTracker::NextEntry ( Cursor cursor,
uint64_t *  inode_parent,
NameString name 
)
inline

Definition at line 588 of file glue_buffer.h.

Referenced by TalkManager::MainResponder().

Here is the call graph for this function:

Here is the caller graph for this function:

bool glue::InodeTracker::NextInode ( Cursor cursor,
uint64_t *  inode 
)
inline

Definition at line 603 of file glue_buffer.h.

Referenced by FuseInvalidator::MainInvalidator(), and TalkManager::MainResponder().

Here is the call graph for this function:

Here is the caller graph for this function:

InodeTracker & glue::InodeTracker::operator= ( const InodeTracker other)

Definition at line 93 of file glue_buffer.cc.

void glue::InodeTracker::Unlock ( ) const
inlineprivate

Definition at line 620 of file glue_buffer.h.

Referenced by EndEnumerate(), FindInode(), FindPath(), VfsGetBy(), and VfsPut().

Here is the call graph for this function:

Here is the caller graph for this function:

void glue::InodeTracker::VfsGet ( const uint64_t  inode,
const PathString path 
)
inline

Definition at line 536 of file glue_buffer.h.

Referenced by cvmfs::cvmfs_lookup().

Here is the call graph for this function:

Here is the caller graph for this function:

void glue::InodeTracker::VfsGetBy ( const uint64_t  inode,
const uint32_t  by,
const PathString path 
)
inline

Definition at line 524 of file glue_buffer.h.

Referenced by compat::inode_tracker::Migrate(), compat::inode_tracker_v2::Migrate(), compat::inode_tracker_v3::Migrate(), and VfsGet().

Here is the call graph for this function:

Here is the caller graph for this function:

void glue::InodeTracker::VfsPut ( const uint64_t  inode,
const uint32_t  by 
)
inline

Definition at line 540 of file glue_buffer.h.

Referenced by cvmfs::cvmfs_forget().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

InodeMap glue::InodeTracker::inode_map_
private

Definition at line 628 of file glue_buffer.h.

Referenced by CopyFrom(), FindPath(), VfsGetBy(), and VfsPut().

InodeReferences glue::InodeTracker::inode_references_
private

Definition at line 629 of file glue_buffer.h.

Referenced by BeginEnumerate(), CopyFrom(), NextInode(), VfsGetBy(), and VfsPut().

const unsigned glue::InodeTracker::kVersion = 4
staticprivate

Definition at line 612 of file glue_buffer.h.

pthread_mutex_t* glue::InodeTracker::lock_
private

Definition at line 626 of file glue_buffer.h.

Referenced by Lock(), and Unlock().

PathMap glue::InodeTracker::path_map_
private

Definition at line 627 of file glue_buffer.h.

Referenced by BeginEnumerate(), CopyFrom(), FindInode(), FindPath(), NextEntry(), VfsGetBy(), and VfsPut().

Statistics glue::InodeTracker::statistics_
private

Definition at line 630 of file glue_buffer.h.

Referenced by CopyFrom(), FindInode(), FindPath(), GetStatistics(), VfsGetBy(), and VfsPut().

unsigned glue::InodeTracker::version_
private

Definition at line 625 of file glue_buffer.h.

Referenced by CopyFrom().


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