#include <map>
#include <set>
#include <vector>
-#include <experimental/filesystem> // For path
-
+#if __has_include(<filesystem>) // For extension
+#include <filesystem>
+namespace fs = std::filesystem;
+#else
+#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
+#endif
using socket_results = std::map<std::string, std::string>;
using test_functions =
#include "include/util.h"
#include "gtest/gtest.h"
+#if __has_include(<filesystem>)
+#include <filesystem>
+namespace fs = std::filesystem;
+#else
#include <experimental/filesystem>
+namespace fs = std::experimental::filesystem;
+#endif
#if defined(__linux__)
TEST(util, collect_sys_info)
{
- if (!std::experimental::filesystem::exists("/etc/os-release")) {
+ if (!fs::exists("/etc/os-release")) {
GTEST_SKIP() << "skipping as '/etc/os-release' does not exist";
}
#include <iostream>
#include <unistd.h>
+#if __has_include(<filesystem>)
+#include <filesystem>
+namespace fs = std::filesystem;
+#else
#include <experimental/filesystem>
+namespace fs = std::experimental::filesystem;
+#endif
#include "gtest/gtest.h"
#include "include/Context.h"
#include "tools/immutable_object_cache/ObjectCacheStore.h"
-namespace efs = std::experimental::filesystem;
using namespace ceph::immutable_obj_cache;
std::string test_cache_path("/tmp/test_ceph_immutable_shared_cache");
std::string cache_path(test_cache_path);
- efs::remove_all(test_cache_path);
+ fs::remove_all(test_cache_path);
init_object_cache_store(m_temp_pool_name, m_temp_volume_name, 1000, true);
#include "ObjectCacheStore.h"
#include "Utils.h"
+#if __has_include(<filesystem>)
+#include <filesystem>
+namespace fs = std::filesystem;
+#else
#include <experimental/filesystem>
+namespace fs = std::experimental::filesystem;
+#endif
#define dout_context g_ceph_context
#define dout_subsys ceph_subsys_immutable_obj_cache
#define dout_prefix *_dout << "ceph::cache::ObjectCacheStore: " << this << " " \
<< __func__ << ": "
-namespace efs = std::experimental::filesystem;
namespace ceph {
namespace immutable_obj_cache {
// TODO(dehao): fsck and reuse existing cache objects
if (reset) {
try {
- if (efs::exists(m_cache_root_dir)) {
+ if (fs::exists(m_cache_root_dir)) {
// remove all sub folders
- for (auto& p : efs::directory_iterator(m_cache_root_dir)) {
- efs::remove_all(p.path());
+ for (auto& p : fs::directory_iterator(m_cache_root_dir)) {
+ fs::remove_all(p.path());
}
} else {
- efs::create_directories(m_cache_root_dir);
+ fs::create_directories(m_cache_root_dir);
}
- } catch (const efs::filesystem_error& e) {
+ } catch (const fs::filesystem_error& e) {
lderr(m_cct) << "failed to initialize cache store directory: "
<< e.what() << dendl;
return -e.code().value();
ldout(m_cct, 20) << "creating cache dir: " << cache_file_dir <<dendl;
std::error_code ec;
std::string new_dir = m_cache_root_dir + cache_file_dir;
- if (efs::exists(new_dir, ec)) {
+ if (fs::exists(new_dir, ec)) {
ldout(m_cct, 20) << "cache dir exists: " << cache_file_dir <<dendl;
return new_dir + cache_file_name;
}
- if (!efs::create_directories(new_dir, ec)) {
+ if (!fs::create_directories(new_dir, ec)) {
ldout(m_cct, 5) << "fail to create cache dir: " << new_dir
<< "error: " << ec.message() << dendl;
return "";