autotier
Automatic Tiering Fuse Filesystem
|
22 #include "concurrentQueue.hpp"
27 #include <boost/filesystem.hpp>
28 #include <condition_variable>
30 namespace fs = boost::filesystem;
90 virtual bool tier(
void);
91 virtual bool currently_tiering(
void)
const;
117 std::shared_ptr<rocksdb::DB>
db_;
123 virtual void exit(
int status)
const;
Definition: config.hpp:65
Base class of TierEngine. Deals with calling config_ constructor and holds onto some members used in ...
Definition: base.hpp:37
std::list< Tier > tiers_
List of tiers built from configuration file.
Definition: base.hpp:100
Class to represent each tier in the filesystem.
Definition: tier.hpp:35
virtual void exit(int status) const
Virtual exit function that can be overridden by other components for cleanup.
Definition: base.cpp:111
std::list< Tier > & get_tiers(void)
Get reference to the list of tiers.Used in fusePassthrough.cpp to get references to each tier for fin...
Definition: base.cpp:73
Config config_
Configuration read from config_file path.
Definition: base.hpp:101
Tier * tier_lookup(fs::path p)
Find Tier from path.
Definition: base.cpp:77
std::shared_ptr< rocksdb::DB > db_
Nosql database holding file metadata.
Definition: base.hpp:117
virtual bool tier(void)
Virtual tier function to allow other components to call TierEngineTiering::tier().
Definition: base.cpp:97
virtual ~TierEngineBase(void)
Destroy the Tier Engine Base object.
Definition: base.cpp:35
int create_run_path(void) const
Creates path for FIFOs and database, chowning to root:autotier.
Definition: base.cpp:37
std::condition_variable sleep_cv_
Condition variable to use wait_until to sleep between tiering, used for the ad hoc server thread or t...
Definition: base.hpp:116
void mount_point(const fs::path &mount_point)
Set the mount_point_ variable.
Definition: base.cpp:93
Configuration class.
Definition: config.hpp:75
fs::path run_path_
Path to mutex lock file, ad hoc FIFO, and database. Defaults to /var/lib/autotier/<hash of config pat...
Definition: base.hpp:106
TierEngineBase(const fs::path &config_path, const ConfigOverrides &config_overrides)
Construct a new Tier Engine Base object.
Definition: base.cpp:29
fs::path mount_point_
Where autotier filesystem is mounted, set by mount_point().
Definition: base.hpp:107
ConcurrentQueue< AdHoc > adhoc_work_
Definition: base.hpp:108
bool stop_flag_
Set to false to make thread exit. Used to continue or cancel sleeping after being woken to do ad hoc ...
Definition: base.hpp:99