ueventd: the parallel restorecon dirs is configurable [1/1]
PD#SWPL-45884
BUG:187441275
Problem:
ueventd: coldboot took too much time
Solution:
1.The parallel restorecon dirs can be configured in ueventd.rc
2.Add 'parallel_restorecon_dir' keywords
parallel_restorecon_dir <directory>
Verify:
redi
Change-Id: Id5b13f18d36afb894891697f21ac63e78b3fe130
Signed-off-by: yuehu mi <yuehu.mi@amlogic.com>
diff --git a/init/ueventd_parser.cpp b/init/ueventd_parser.cpp
index 9a14406..d34672e 100644
--- a/init/ueventd_parser.cpp
+++ b/init/ueventd_parser.cpp
@@ -151,6 +151,17 @@
return {};
}
+Result<void> ParseParallelRestoreconDirsLine(std::vector<std::string>&& args,
+ std::vector<std::string>* parallel_restorecon_dirs) {
+ if (args.size() != 2) {
+ return Error() << "parallel_restorecon_dir lines must have exactly 2 parameters";
+ }
+
+ std::move(std::next(args.begin()), args.end(), std::back_inserter(*parallel_restorecon_dirs));
+
+ return {};
+}
+
Result<void> ParseUeventSocketRcvbufSizeLine(std::vector<std::string>&& args,
size_t* uevent_socket_rcvbuf_size) {
if (args.size() != 2) {
@@ -268,6 +279,9 @@
parser.AddSingleLineParser("uevent_socket_rcvbuf_size",
std::bind(ParseUeventSocketRcvbufSizeLine, _1,
&ueventd_configuration.uevent_socket_rcvbuf_size));
+ parser.AddSingleLineParser("parallel_restorecon_dir",
+ std::bind(ParseParallelRestoreconDirsLine, _1,
+ &ueventd_configuration.parallel_restorecon_dirs));
parser.AddSingleLineParser("parallel_restorecon",
std::bind(ParseEnabledDisabledLine, _1,
&ueventd_configuration.enable_parallel_restorecon));