diff options
author | Charles Lin <charleslin@realtek.com> | 2020-12-28 09:11:27 +0000 |
---|---|---|
committer | Charles Lin <charleslin@realtek.com> | 2020-12-28 10:00:17 +0000 |
commit | 6aa40c395f42ea1448db6c4ffe94065035707878 (patch) | |
tree | 3195e973a4869b8c9a6ecf6a107416d005d987d8 | |
parent | 5d412489475694286e3b3c43e74f42ef21ebc4de (diff) |
mkdir .incomplete in backing storage to fix CTS/GTS failures
Linux kernel included a commit 17efe505a4c3df88d3e13051f421d27d7178d47f
that creates .incomplete folder on mounting incfs. However .incomplete
folder is only accessible for root with 0700 permission. So system_server
has no permission to access it.
By creating .incomplete folder with 0777 permission in system_server,
incfs won't have to create incomplete folder implicitly.
Bug: 176400491
Test: CtsIncrementalInstallHostTestCases
CtsContentTestCases android.content.pm.cts.PackageManagerShellCommandIncrementalTest
CtsStatsdHostTestCases android.cts.statsd.atom.UidAtomTests#testPackageInstallerV2MetricsReported
GtsIncrementalInstallProxyHostTestCases
Change-Id: Icb7babe3b482a089019f981fe149de7d619ce87e
-rw-r--r-- | services/incremental/IncrementalService.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp index f3940e609b8b..d07e70ca9023 100644 --- a/services/incremental/IncrementalService.cpp +++ b/services/incremental/IncrementalService.cpp @@ -476,6 +476,9 @@ StorageId IncrementalService::createStorage(std::string_view mountPoint, if (!mkdirOrLog(path::join(backing, ".index"), 0777)) { return kInvalidStorageId; } + if (!mkdirOrLog(path::join(backing, ".incomplete"), 0777)) { + return kInvalidStorageId; + } auto status = mVold->mountIncFs(backing, mountTarget, 0, &controlParcel); if (!status.isOk()) { LOG(ERROR) << "Vold::mountIncFs() failed: " << status.toString8(); |