use a single file for storing persistent properties
We have seen that storing persistent properties in separate files
causes increased boot latency compared to if they were stored in a
single contiguous file.
This change creates a simple format for a contiguously stored property
file, and adds the support for arbitrary characters in the names of
persistent properties, which previously had been restricted. It has a
mechanism for converting older devices to the new format as well.
Bug: 64392887
Test: boot bullhead with new properties
Test: boot bullhead and verify old properties are converted to the new
property file
Test: corrupt property file and ensure that it gets recovered from memory
Test: new unit tests
Change-Id: I60d8201d655ce5c97b33faae81d5ca8dbbb21a14
diff --git a/init/Android.bp b/init/Android.bp
index 33dfe56..8737def 100644
--- a/init/Android.bp
+++ b/init/Android.bp
@@ -72,6 +72,7 @@
"import_parser.cpp",
"log.cpp",
"parser.cpp",
+ "persistent_properties.cpp",
"property_service.cpp",
"security.cpp",
"selinux.cpp",
@@ -162,6 +163,7 @@
srcs: [
"devices_test.cpp",
"init_test.cpp",
+ "persistent_properties_test.cpp",
"property_service_test.cpp",
"result_test.cpp",
"rlimit_parser_test.cpp",