diff --git a/caching/cache_restore.cc b/caching/cache_restore.cc index 62c4ea6..7e64d4c 100644 --- a/caching/cache_restore.cc +++ b/caching/cache_restore.cc @@ -18,16 +18,6 @@ using namespace std; //---------------------------------------------------------------- namespace { - void check_file_exists(string const &file) { - struct stat info; - int r = ::stat(file.c_str(), &info); - if (r) - throw runtime_error("Couldn't stat file"); - - if (!S_ISREG(info.st_mode)) - throw runtime_error("Not a regular file"); - } - int restore(string const &xml_file, string const &dev) { try { block_manager<>::ptr bm = open_bm(dev, block_io<>::READ_ONLY); diff --git a/persistent-data/file_utils.cc b/persistent-data/file_utils.cc index e5fef3f..a96aec7 100644 --- a/persistent-data/file_utils.cc +++ b/persistent-data/file_utils.cc @@ -54,4 +54,15 @@ persistent_data::open_bm(std::string const &dev_path, block_io<>::mode m) return block_manager<>::ptr(new block_manager<>(dev_path, nr_blocks, 1, m)); } +void +persistent_data::check_file_exists(string const &file) { + struct stat info; + int r = ::stat(file.c_str(), &info); + if (r) + throw runtime_error("Couldn't stat file"); + + if (!S_ISREG(info.st_mode)) + throw runtime_error("Not a regular file"); +} + //---------------------------------------------------------------- diff --git a/persistent-data/file_utils.h b/persistent-data/file_utils.h index c2d2d81..be1e492 100644 --- a/persistent-data/file_utils.h +++ b/persistent-data/file_utils.h @@ -3,11 +3,16 @@ #include "persistent-data/block.h" +#include + //---------------------------------------------------------------- +// FIXME: move to a different unit namespace persistent_data { persistent_data::block_address get_nr_blocks(string const &path); block_manager<>::ptr open_bm(std::string const &dev_path, block_io<>::mode m); + + void check_file_exists(std::string const &file); } //----------------------------------------------------------------