summaryrefslogtreecommitdiff
path: root/services/incremental/IncrementalService.cpp
AgeCommit message (Collapse)Author
2025-02-04[appops] Migrate native IAppOpsCallback to aidl Atneya Nair
Move IAppOpsCallback to frameworks/native for use in both java and native. Fix-up callsites with fully qualified package name and the correct arguments. Test: compiles Test: atest CtsMediaAudioPermissionTestCases Test: atest service.incremental_test Bug: 322692565 Flag: EXEMPT mechanical Change-Id: I8d5fff5ef86e0b2d68df4a95745fe430134fe1f0
2025-01-10Fix -Wreorder-init-list Yi Kong
frameworks/base/services/incremental/IncrementalService.cpp:2004:29: warning: ISO C++ requires field designators to be specified in declaration order; field 'signature' will be initialized after field 'metadata' [-Wreorder-init-list] 2004 | .metadata = {targetLibPath.c_str(), (IncFsSize)targetLibPath.size()}, | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ frameworks/base/services/incremental/IncrementalService.cpp:2002:30: note: previous initialization for field 'signature' is here 2002 | .signature = {}, | ^~ Test: presubmit Change-Id: I7c71ed46f36f30f3bff947e513b6a021d1c61b8c
2023-12-06Fix -Wunused-variable compiler warning Yi Kong
Test: presubmit Change-Id: Ifd5f633a517d6dbd7344849a739acb32cb142296
2023-02-09Merge "Remove stale connections to DataLoaders." Alex Buynytskyy
2023-02-09Remove stale connections to DataLoaders. Alex Buynytskyy
Bug: 263449831 Fixes: 263449831 Test: atest service.incremental_test Change-Id: Ia3da6ca047c46807cbd72ef797bb4b300c38efb3
2023-02-09Better status message. Alex Buynytskyy
Bug: 263449831 Test: adb shell dumpsys incremental Change-Id: Ie6960d22c1d0e018b50de1c9e431c403fe442458
2022-09-25Explicitly discard released proto strings. Krzysztof Kosiński
In newer releases of the protobuf library, the release_* methods are marked [[nodiscard]], which causes a compilation error here. Bug: 203713560 Test: presubmit Change-Id: I44a9d52730bdc199e34cb25be959a955fff8f128
2022-09-01incfs: tolerate either ptrdiff_t or size_t for std::span Ryan Prichard
The out-of-date std::span in external/libcxx currently uses ptrdiff_t as the type of size() and the second ctor argument. The C++20 std::span actually uses size_t for these values instead. Try to accommodate both versions of std::span until libc++ is upgraded. Bug: http://b/175635923 Test: treehugger Change-Id: Idc43f880b6eb21dad79e79fa456847d5865a1ed2
2022-03-21Mark all installations using PMSC as "ADB". Alex Buynytskyy
This will allow tests to disable verification on case-by-case basis. Bug: 224017187 Bug: 220086205 Test: atest PackageManagerShellCommandTest ResourcesHardeningTest PackageManagerShellCommandIncrementalTest ChecksumsTest Change-Id: Ie0e77f1cbc52b7fe56e00e8b0b36f47b2422391b
2021-06-28Reduce timeout for DL to destroy. Alex Buynytskyy
10secs should be more than enough to stop whatever the DL is doing. Besides, DL has its own set of IncFS FDs and should not crash. Bug: 189222575 Fixes: 189222575 Test: atest IncrementalServiceTest Change-Id: I73cb27d61c7418adeea7536c8263e6ba8c77fd3e
2021-06-08Proper retrying DL installation sessions. Alex Buynytskyy
Plus more robust handling of broken DLs. Bug: 190012477 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest com.google.android.packageinstallerv2proxy.host.gts.IncrementalInstallerHostTest Change-Id: I5cb037d49cd2b140bed1045c99f072112495acfc
2021-05-28[incremental/metrics] report uid of last read error Songchun Fan
BUG: 187354818 Test: atest service.incremental_test Change-Id: I632b747440ed4faef31266a3a7b18b7a382ff2cf
2021-05-13Duplicate apk names on package update. Alex Buynytskyy
+minor fixes Bug: 187710420 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest Change-Id: Iced479532b38bddcd8655df3ce08611434965cf4
2021-05-11[incremental] use same sysfs name for setOptions Songchun Fan
Otherwise we have errors during applyStorageParams: 05-10 15:35:32.363 562 625 E IncrementalService: applyStorageParams failed: Status(-8, EX_SERVICE_SPECIFIC): '-95: ' 05-10 15:35:32.363 562 625 E incfs-dataloaderconnector: setStorageParams failed with error: -95 05-10 15:35:32.363 562 625 E incfs-dataloaderconnector: DataLoader supports UID 05-10 15:35:32.367 0 0 E incfs : Can't change sysfs_name mount option on remount BUG: 187308584 Test: atest CtsContentTestCases:android.content.pm.cts.PackageManagerShellCommandIncrementalTest#testInstallWithIdSigNoMissingPages Change-Id: Ic2146aa7855e13de9f96794639de556f64e93701
2021-05-08Avoid sysfs name clashes. Alex Buynytskyy
Bug: 187437944 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest ApkVerityInstallTest Change-Id: Idc8cb4d170b0bfd98ee3a10bdf57439801739757
2021-05-05Merge "[incremental] report new metrics from Incremental Service" into sc-dev Songchun Fan
2021-05-04[incremental] report new metrics from Incremental Service Songchun Fan
BUG: 184844615 Test: atest service.incremental_test Change-Id: Ibbfe68851a4adfd620db9652f1fda550a3c6fb2c
2021-05-04Merge "[IncrementalService] add last read error in dumpsys" into sc-dev Songchun Fan
2021-05-04Merge "[IncrementalService] use sysfs_name in mount options and dumpsys" ↵ Songchun Fan
into sc-dev
2021-05-03[IncrementalService] add last read error in dumpsys Songchun Fan
BUG: 184844615 Test: dumpsys Change-Id: I3e8178c8a62dc5d09c718b140bb48bda85a3bae5
2021-04-30Add more info to IncrementalService::onDump() Yurii Zubrytskyi
+ suppress a couple lint warnings Bug: 184844615 Test: manual + check the dump output Change-Id: Ic1cf2a2fb519cc9e746c73816b1cb55f14d11279
2021-04-30[IncrementalService] use sysfs_name in mount options and dumpsys Songchun Fan
BUG: 184844615 Test: adb shell dumpsys incremental Change-Id: Ib6bbbede6d4fbed0bcef8d37f377e706b9d1af28
2021-04-27Merge "[incremental] expose more metrics fields" into sc-dev Songchun Fan
2021-04-26[incremental] expose more metrics fields Songchun Fan
Exposing more data loader states as per go/incremental-crash-reports-1-pager. BUG: 184844615 Test: atest service.incremental_test Test: atest android.cts.statsdatom.incremental.AppErrorAtomTests Change-Id: I532513453411b2ccdb21311d0bc3dee0641837db
2021-04-26Retry on unavailable. Alex Buynytskyy
Bug: 182214420 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: Iaf61b6825ced45ffdc7e9c87dfea830e50633476
2021-04-16[pm] remove incremental startable/unstartable code Songchun Fan
Also remove streaming health status reporting which could cause startable state change because it is also not needed any more. BUG: 171920377 Test: builds Change-Id: I7284e7a63df79da7dbf3d16ff64302b3d1ce1348
2021-04-08Add storage state and installation ts to dump. Alex Buynytskyy
Bug: 160635296 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I524a92aa8c6a7b6961722dc3004a4bb323232297
2021-04-08Installation hardening: reducing read timeout during installation. Alex Buynytskyy
And then restoring post-install. Bug: 160635296 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I0821458bf92db162518a2cbcb7499cd7544e64f2
2021-03-25More logging and better retry logic. Alex Buynytskyy
Bug: 183551663 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I1b6da82cd4472cc5671b0b60fb12222b4ed08e17
2021-03-24[incfs] Space trimming for IncFS v1 Yurii Zubrytskyi
Run a manual timed job that trims all files one by one on the old version of IncFS, where it didn't do it automatically. Bug: 183435580 Fixes: 183436717 Test: atest libincfs-test service.incremental_test Change-Id: I57885b2826e383814822c767802f837135fd8464
2021-03-24[incfs] Fix the mount state callbacks processing Yurii Zubrytskyi
- use a never-existing storage ID as a job key - order the jobs in the map to not skip them on changes, or, worse, never hang in a loop - clear the local callbacks vector before moving to the next storage ID - try to resume from the closest place on the next processing iteration Bug: 183435580 Test: atest service.incremental_test Change-Id: I36cd5d30c656bed62c20bd7a7f84fb58046a0933
2021-03-23Reduce ifs lock scope. Alex Buynytskyy
Bug: 182214420 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: Ic36002205c93b316b28ba10ea8f5fbc50dcff70a
2021-03-23Add properties to test readlogs timeout. Alex Buynytskyy
Bug: 182477087 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I02bc11b11f9158c31a80b845adb0703a27459332
2021-03-23Add a first chance retry delay of 1s. Alex Buynytskyy
Bug: 182214420 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: Iade9e1355ed0e5e761a3a98f3a7bca8215982315
2021-03-23Unbind from DataLoader when not needed anymore. Alex Buynytskyy
+ simplify adding new callbacks on storage state + streamline lock story for ifs members Bug: 183101753 Fixes: 183101753 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I86fffa7101eeb42ebccca67ae7f5d133c1ab9dfa
2021-03-19Untangle listeners mess in IncrementalService Yurii Zubrytskyi
Listeners and some binder call parameters were using several different styles when passed around - copy, move, pointer, pointer to pointer. This CL tries to 'normalize' that. Bug: 183067554 Test: atest IncrementalServiceTest Change-Id: Ia28089aa9e4491b0f28e3e747489199cfccb5a1b
2021-03-19[incfs] Call the new isFullyLoaded api where possible Yurii Zubrytskyi
Replace the remaining calls to getFilledRanges() with isFullyLoaded() where we don't care about the progress Bug: 183067554 Test: atest IncrementalService Change-Id: Ic8dc2e3a0ef078353883feef7969b29e11dfa2d0
2021-03-19[incfs] Use a more efficient getBlockCount() for incfs v2 Yurii Zubrytskyi
v2 IncFS driver gives a very lightweight function to check the loading progress on a file, use it instead of counting the filled ranges + remove the unused mockable toString(IncFsFileId) Bug: 183067554 Test: atest IncrementalServiceTest Change-Id: Icd3bd891d671b27654f4194787a15a00cba1eb80
2021-03-18[incfs] Use the new libincfs API for file status checking Yurii Zubrytskyi
libincfs got a new set of functions for checking the file loaded status, which works more efficiently than getting filled ranges. Bug: 183067554 Test: atest IncrementalServiceTest Change-Id: I3b96bf409f1778c5a89e4802e2005197f70ce0cb
2021-03-17[incfs] Preallocate space for IncFS files Yurii Zubrytskyi
Use the new libincfs APIs to preallocate space for all files created via the public makeFile() API. This way we ensure the device won't run out of space much later Bug: 182185202 Test: atest libincfs-test PackageManagerShellCommandTest \ PackageManagerShellCommandIncrementalTest \ IncrementalServiceTest Change-Id: I70af97949b29ff5db63201b0e3487fe026e23160
2021-03-16Limit read log reporting to 2hrs for non-system DLs (non-adb). Alex Buynytskyy
Bug: 182477087 Test: atest IncrementalServiceTest Change-Id: I98c9ed3a2e8a91d26bcb879ab7073903ff7bb2c5
2021-03-11DL lifecycle: handle slow DL binding. Alex Buynytskyy
Bug: 182214420 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I5959e01177ab702de1f754f4ba433004925ce98b
2021-03-09[incremental] expose duration since oldest pending read Songchun Fan
As requested by go/incremental-disablement-metrics, we will expose the duration since oldest pending read as part of the crash/ANR metrics. This is the first step that exposes the value to Incremental Service. BUG: 180951530 Test: unit test Change-Id: Ic67460072556ef01780a1794b40924ca2092060d
2021-02-22Fix the progress getting for mapped files Yurii Zubrytskyi
Mapped files don't support querying their loading progress, so we should simply skip them - they are already a part of some other file, and will get accounted for loading when that file's progress get queried + a bunch of small improvements Bug: 180535478 Test: atest service.incremental_test, adb install --incremental with mapped native libs Change-Id: Ifc8a402144f2f3669a0419124fb0f35d7002190a (cherry picked from commit 7731ebd1d8187c92a992d1f53c4114a6c40f7563)
2021-02-22[incremental] Use file range mapping for .so if available Yurii Zubrytskyi
Bug: 180535478 Test: IncrementalService unit tests Change-Id: I663dcdce337c289cacc5dc7224dedf5a55605c86
2021-02-20Potential deadlock mitigation. Alex Buynytskyy
+better error logging DataLoaders might report user statuses from lifecycle callbacks. Immediate processing of such might introduce infinite loops/deadlocks e.g. DataLoader_OnStop -> reportStatus(UNRECOVERABLE) -> fsmStep -> DataLoader_OnStop Bug: 160634487 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: Ic68657d7a8cd6c6855b6f5295276a42b3cb09117
2021-02-11DataLoader lifecycle. Alex Buynytskyy
- restarting DataLoaders for not fully downloaded mounts, - exponential backoff retry on DataLoader restart. Bug: 173223115 Bug: 160634487 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I5a93fd515ef0fec09452ce7bb4cd79fbd283d45f
2021-02-02Per UID DataLoader API. Alex Buynytskyy
Bug: 160634487 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: Id423d838ac7950696b5f75bec2d1610fbc929210
2021-01-29Inherited installation support for Incremental. Alex Buynytskyy
Bug: 162345970 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I360f44bc52e05553eacc448faa26f603d9eaae59 Merged-In: I360f44bc52e05553eacc448faa26f603d9eaae59
2021-01-14Incfs: Add the new .blocks_written control file Yurii Zubrytskyi
Bug: 170231230 Test: incremental and PackageManager unit tests Change-Id: Ia26306a4b1ca70ce70d55ce807fea62540f89334