vold: meta encryption: fix /dev/block/by-name/userdata to dm-3
am: 31e962fe19
Change-Id: Ib7324e29b7384bc7c1c847ce62af5230fa8a0081
diff --git a/IdleMaint.cpp b/IdleMaint.cpp
index 7744024..5a19b8c 100644
--- a/IdleMaint.cpp
+++ b/IdleMaint.cpp
@@ -15,6 +15,7 @@
*/
#include "IdleMaint.h"
+#include "FileDeviceUtils.h"
#include "Utils.h"
#include "VolumeManager.h"
#include "model/PrivateVolume.h"
@@ -85,8 +86,8 @@
} else if (path_type == PathTypes::kBlkDevice) {
std::string gc_path;
const std::string& fs_type = vol->getFsType();
- if (fs_type == "f2fs" &&
- Realpath(vol->getRawDevPath(), &gc_path)) {
+ if (fs_type == "f2fs" && (Realpath(vol->getRawDmDevPath(), &gc_path) ||
+ Realpath(vol->getRawDevPath(), &gc_path))) {
paths->push_back(std::string("/sys/fs/") + fs_type +
"/" + Basename(gc_path));
}
@@ -130,7 +131,8 @@
} else if (path_type == PathTypes::kBlkDevice) {
std::string gc_path;
if (std::string(fstab->recs[i].fs_type) == "f2fs" &&
- Realpath(fstab->recs[i].blk_device, &gc_path)) {
+ Realpath(android::vold::BlockDeviceForPath(
+ std::string(fstab->recs[i].mount_point) + "/"), &gc_path)) {
paths->push_back(std::string("/sys/fs/") + fstab->recs[i].fs_type +
"/" + Basename(gc_path));
}
diff --git a/model/PrivateVolume.h b/model/PrivateVolume.h
index 9508671..9a61f8d 100644
--- a/model/PrivateVolume.h
+++ b/model/PrivateVolume.h
@@ -41,6 +41,7 @@
virtual ~PrivateVolume();
const std::string& getFsType() { return mFsType; };
const std::string& getRawDevPath() { return mRawDevPath; };
+ const std::string& getRawDmDevPath() { return mDmDevPath; };
protected:
status_t doCreate() override;