diff options
Diffstat (limited to 'roots.cpp')
-rw-r--r-- | roots.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -29,6 +29,7 @@ extern "C" { #include "roots.h" #include "common.h" #include "make_ext4fs.h" +#include "partitions.hpp" static int num_volumes = 0; static Volume* device_volumes = NULL; @@ -142,6 +143,10 @@ Volume* volume_for_path(const char* path) { } int ensure_path_mounted(const char* path) { + if (PartitionManager.Mount_By_Path(path, true)) + return 0; + else + return -1; Volume* v = volume_for_path(path); if (v == NULL) { LOGE("unknown volume for path [%s]\n", path); @@ -202,6 +207,10 @@ int ensure_path_mounted(const char* path) { } int ensure_path_unmounted(const char* path) { + if (PartitionManager.UnMount_By_Path(path, true)) + return 0; + else + return -1; Volume* v = volume_for_path(path); if (v == NULL) { LOGE("unknown volume for path [%s]\n", path); @@ -230,6 +239,10 @@ int ensure_path_unmounted(const char* path) { } int format_volume(const char* volume) { + if (PartitionManager.Wipe_By_Path(volume)) + return 0; + else + return -1; Volume* v = volume_for_path(volume); if (v == NULL) { LOGE("unknown volume \"%s\"\n", volume); |