autotier
Automatic Tiering Fuse Filesystem
|
Fuse Private data class grabbed from fuse_get_context()->private_data (void*) in fuse filesystem functions. More...
#include <fuseOps.hpp>
Public Member Functions | |
~FusePriv () | |
Destroy the Fuse Priv object, freeing all cstrings in fd_to_path_. More... | |
void | insert_fd_to_path (int fd, char *path) |
Insert fd : path pair into fd_to_path_ map. More... | |
void | remove_fd_to_path (int fd) |
Remove fd : path pair from fd_to_path_ map. More... | |
char * | fd_to_path (int fd) const |
Return path corresponding to file descriptor. More... | |
void | insert_size_at_open (int fd, uintmax_t size) |
Insert fd : size at open pair into size_at_open_ map. More... | |
void | remove_size_at_open (int fd) |
Remove fd : size at open pair from size_at_open_ map. More... | |
uintmax_t | size_at_open (int fd) const |
Return file size at open corresponding to fd to determine size delta at close. More... | |
Public Attributes | |
fs::path | config_path_ |
Path to configuration file TODO: see if this is used anywhere. | |
fs::path | mount_point_ |
Path to autotierfs mount point. | |
TierEngine * | autotier_ |
Pointer to TierEngine. | |
std::shared_ptr< rocksdb::DB > | db_ |
RocksDB database holding file metadata. | |
std::vector< Tier * > | tiers_ |
List of pointers to tiers from TierEngine. | |
std::thread | tier_worker_ |
Thread running TierEngineTiering::begin() | |
std::thread | adhoc_server_ |
Thread running TierEngineAdhoc::process_adhoc_requests() | |
Private Attributes | |
std::mutex | fd_to_path_mt_ |
Mutex to synchronize insertion and deletion from fd_to_path_ map. More... | |
std::unordered_map< int, char * > | fd_to_path_ |
Map relating file descriptor to file path. More... | |
std::mutex | size_at_open_mt_ |
Mutex to synchronize insertion and deletion from size_at_open_ map. More... | |
std::unordered_map< int, uintmax_t > | size_at_open_ |
Map relating file descriptor to file size at open. More... | |
Fuse Private data class grabbed from fuse_get_context()->private_data (void*) in fuse filesystem functions.
|
inline |
Destroy the Fuse Priv object, freeing all cstrings in fd_to_path_.
|
inline |
Return path corresponding to file descriptor.
fd | File descriptor |
|
inline |
Insert fd : path pair into fd_to_path_ map.
fd | File descriptor |
path | Path to file |
|
inline |
Insert fd : size at open pair into size_at_open_ map.
fd | File descriptor |
size | Size of file at open |
|
inline |
Remove fd : path pair from fd_to_path_ map.
fd | File descriptor to remove |
|
inline |
Remove fd : size at open pair from size_at_open_ map.
fd | File descriptor to remove |
|
inline |
Return file size at open corresponding to fd to determine size delta at close.
fd | File descriptor |
|
private |
Map relating file descriptor to file path.
|
private |
Mutex to synchronize insertion and deletion from fd_to_path_ map.
|
private |
Map relating file descriptor to file size at open.
|
private |
Mutex to synchronize insertion and deletion from size_at_open_ map.