From 0e53c1cdb0d0fa87e725ccde810c3efb90728afd Mon Sep 17 00:00:00 2001 From: Songchun Fan Date: Mon, 10 May 2021 16:19:38 -0700 Subject: [PATCH] [vold] pass along sysfs name in setOptions Ignore-AOSP-First: Will cherry-pick to AOSP BUG: 187308584 Test: atest CtsContentTestCases:android.content.pm.cts.PackageManagerShellCommandIncrementalTest#testInstallWithIdSigNoMissingPages Change-Id: Iacfe6b735458051f2848b1b766c2b00198b397d9 --- VoldNativeService.cpp | 5 +++-- VoldNativeService.h | 2 +- binder/android/os/IVold.aidl | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/VoldNativeService.cpp b/VoldNativeService.cpp index 8d63a83..d26758c 100644 --- a/VoldNativeService.cpp +++ b/VoldNativeService.cpp @@ -993,7 +993,7 @@ binder::Status VoldNativeService::unmountIncFs(const std::string& dir) { binder::Status VoldNativeService::setIncFsMountOptions( const ::android::os::incremental::IncrementalFileSystemControlParcel& control, - bool enableReadLogs, bool enableReadTimeouts) { + bool enableReadLogs, bool enableReadTimeouts, const std::string& sysfsName) { ENFORCE_SYSTEM_OR_ROOT; auto incfsControl = @@ -1010,7 +1010,8 @@ binder::Status VoldNativeService::setIncFsMountOptions( incfsControl, {.defaultReadTimeoutMs = enableReadTimeouts ? INCFS_DEFAULT_READ_TIMEOUT_MS : kIncFsReadNoTimeoutMs, - .readLogBufferPages = enableReadLogs ? INCFS_DEFAULT_PAGE_READ_BUFFER_PAGES : 0}); + .readLogBufferPages = enableReadLogs ? INCFS_DEFAULT_PAGE_READ_BUFFER_PAGES : 0, + .sysfsName = sysfsName.c_str()}); error < 0) { return binder::Status::fromServiceSpecificError(error); } diff --git a/VoldNativeService.h b/VoldNativeService.h index 1414c38..5fa04f5 100644 --- a/VoldNativeService.h +++ b/VoldNativeService.h @@ -167,7 +167,7 @@ class VoldNativeService : public BinderService, public os::Bn binder::Status unmountIncFs(const std::string& dir) override; binder::Status setIncFsMountOptions( const ::android::os::incremental::IncrementalFileSystemControlParcel& control, - bool enableReadLogs, bool enableReadTimeouts) override; + bool enableReadLogs, bool enableReadTimeouts, const std::string& sysfsName) override; binder::Status bindMount(const std::string& sourceDir, const std::string& targetDir) override; binder::Status destroyDsuMetadataKey(const std::string& dsuSlot) override; diff --git a/binder/android/os/IVold.aidl b/binder/android/os/IVold.aidl index f20faca..606f473 100644 --- a/binder/android/os/IVold.aidl +++ b/binder/android/os/IVold.aidl @@ -142,7 +142,7 @@ interface IVold { boolean incFsEnabled(); IncrementalFileSystemControlParcel mountIncFs(@utf8InCpp String backingPath, @utf8InCpp String targetDir, int flags, @utf8InCpp String sysfsName); void unmountIncFs(@utf8InCpp String dir); - void setIncFsMountOptions(in IncrementalFileSystemControlParcel control, boolean enableReadLogs, boolean enableReadTimeouts); + void setIncFsMountOptions(in IncrementalFileSystemControlParcel control, boolean enableReadLogs, boolean enableReadTimeouts, @utf8InCpp String sysfsName); void bindMount(@utf8InCpp String sourceDir, @utf8InCpp String targetDir); void destroyDsuMetadataKey(@utf8InCpp String dsuSlot);