Use std::filesystem instead of std::experimental
std::filesystem is fully supported in c++17, no need to keep
the experimental around anymore.
Note that the path append behavior changed, so appending an
absolute path replaces the path instead of appending, therefore
need to use .relative_path().
Tested: Did a code update on witherspoon and verified the sync
path was correct.
Change-Id: Iffe42cf0ebd5537920c8fdbf9edcec640ab9c724
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/sync_manager.cpp b/sync_manager.cpp
index 48d773b..d44a81b 100644
--- a/sync_manager.cpp
+++ b/sync_manager.cpp
@@ -6,7 +6,7 @@
#include <sys/wait.h>
#include <unistd.h>
-#include <experimental/filesystem>
+#include <filesystem>
#include <phosphor-logging/log.hpp>
namespace phosphor
@@ -17,7 +17,7 @@
{
using namespace phosphor::logging;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
int Sync::processEntry(int mask, const fs::path& entryPath)
{
@@ -26,7 +26,8 @@
if (pid == 0)
{
- fs::path dst(ALT_RWFS / entryPath);
+ fs::path dst(ALT_RWFS);
+ dst /= entryPath.relative_path();
// rsync needs an additional --delete argument to handle file deletions
// so need to differentiate between the different file events.