summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@google.com>2020-01-14 11:22:26 -0800
committerJaegeuk Kim <jaegeuk@google.com>2020-04-03 14:02:14 -0700
commitf64d30aa823f90e8717f37a9afc6f0740a193791 (patch)
tree6fbfcdf07305eac8a9e637d88e054df3d499583c /main.cpp
parent29ee196fb5a7ee3dc7692a404e7350add1bc0bf3 (diff)
downloadvold-f64d30aa823f90e8717f37a9afc6f0740a193791.tar.gz
vold: support F2FS compression
Bug: 134580167 Change-Id: Iadd001dc5ce0f91a4337f5b27ea8cc54f9760b0d Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/main.cpp b/main.cpp
index ebe5510c..1c9eec71 100644
--- a/main.cpp
+++ b/main.cpp
@@ -42,7 +42,7 @@
#include <sys/types.h>
static int process_config(VolumeManager* vm, bool* has_adoptable, bool* has_quota,
- bool* has_reserved);
+ bool* has_reserved, bool* has_compress);
static void coldboot(const char* path);
static void parse_args(int argc, char** argv);
@@ -103,8 +103,9 @@ int main(int argc, char** argv) {
bool has_adoptable;
bool has_quota;
bool has_reserved;
+ bool has_compress;
- if (process_config(vm, &has_adoptable, &has_quota, &has_reserved)) {
+ if (process_config(vm, &has_adoptable, &has_quota, &has_reserved, &has_compress)) {
PLOG(ERROR) << "Error reading configuration... continuing anyways";
}
@@ -131,6 +132,7 @@ int main(int argc, char** argv) {
android::base::SetProperty("vold.has_adoptable", has_adoptable ? "1" : "0");
android::base::SetProperty("vold.has_quota", has_quota ? "1" : "0");
android::base::SetProperty("vold.has_reserved", has_reserved ? "1" : "0");
+ android::base::SetProperty("vold.has_compress", has_compress ? "1" : "0");
// Do coldboot here so it won't block booting,
// also the cold boot is needed in case we have flash drive
@@ -214,7 +216,7 @@ static void coldboot(const char* path) {
}
static int process_config(VolumeManager* vm, bool* has_adoptable, bool* has_quota,
- bool* has_reserved) {
+ bool* has_reserved, bool* has_compress) {
ATRACE_NAME("process_config");
if (!ReadDefaultFstab(&fstab_default)) {
@@ -226,6 +228,7 @@ static int process_config(VolumeManager* vm, bool* has_adoptable, bool* has_quot
*has_adoptable = false;
*has_quota = false;
*has_reserved = false;
+ *has_compress = false;
for (auto& entry : fstab_default) {
if (entry.fs_mgr_flags.quota) {
*has_quota = true;
@@ -233,6 +236,9 @@ static int process_config(VolumeManager* vm, bool* has_adoptable, bool* has_quot
if (entry.reserved_size > 0) {
*has_reserved = true;
}
+ if (entry.fs_mgr_flags.fs_compress) {
+ *has_compress = true;
+ }
/* Make sure logical partitions have an updated blk_device. */
if (entry.fs_mgr_flags.logical && !fs_mgr_update_logical_partition(&entry)) {