diff options
author | Songchun Fan <schfan@google.com> | 2020-03-03 09:47:15 -0800 |
---|---|---|
committer | Songchun Fan <schfan@google.com> | 2020-03-27 16:40:27 -0700 |
commit | 20d6ef247794ca9d3d09445c644fd29fb474ee32 (patch) | |
tree | 26d3beb1d782ab12702434f0ea436c65e43eb43f /services/incremental/IncrementalService.cpp | |
parent | 2939486f377c4bd40af98f264800a61125034728 (diff) |
[frameworks] update with incfs.h
BUG: 150470163
Test: atest PackageManagerShellCommandIncrementalTest
Change-Id: I32ac2576c7468e04ada61e82ca778f762ce2559f
Diffstat (limited to 'services/incremental/IncrementalService.cpp')
-rw-r--r-- | services/incremental/IncrementalService.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp index ae27c7aabdda..25da8fe4a2e8 100644 --- a/services/incremental/IncrementalService.cpp +++ b/services/incremental/IncrementalService.cpp @@ -157,7 +157,6 @@ std::string makeBindMdName() { IncrementalService::IncFsMount::~IncFsMount() { incrementalService.mDataLoaderManager->destroyDataLoader(mountId); - control.reset(); LOG(INFO) << "Unmounting and cleaning up mount " << mountId << " with root '" << root << '\''; for (auto&& [target, _] : bindPoints) { LOG(INFO) << "\tbind: " << target; @@ -424,9 +423,10 @@ StorageId IncrementalService::createStorage( LOG(ERROR) << "Vold::mountIncFs() returned invalid control parcel."; return kInvalidStorageId; } - control.cmd = controlParcel.cmd.release().release(); - control.pendingReads = controlParcel.pendingReads.release().release(); - control.logs = controlParcel.log.release().release(); + int cmd = controlParcel.cmd.release().release(); + int pendingReads = controlParcel.pendingReads.release().release(); + int logs = controlParcel.log.release().release(); + control = mIncFs->createControl(cmd, pendingReads, logs); } std::unique_lock l(mLock); @@ -965,16 +965,17 @@ bool IncrementalService::mountExistingImage(std::string_view root, std::string_v auto mountTarget = path::join(root, constants().mount); const auto backing = path::join(root, constants().backing); - IncFsMount::Control control; IncrementalFileSystemControlParcel controlParcel; auto status = mVold->mountIncFs(backing, mountTarget, 0, &controlParcel); if (!status.isOk()) { LOG(ERROR) << "Vold::mountIncFs() failed: " << status.toString8(); return false; } - control.cmd = controlParcel.cmd.release().release(); - control.pendingReads = controlParcel.pendingReads.release().release(); - control.logs = controlParcel.log.release().release(); + + int cmd = controlParcel.cmd.release().release(); + int pendingReads = controlParcel.pendingReads.release().release(); + int logs = controlParcel.log.release().release(); + IncFsMount::Control control = mIncFs->createControl(cmd, pendingReads, logs); auto ifs = std::make_shared<IncFsMount>(std::string(root), -1, std::move(control), *this); @@ -1084,10 +1085,10 @@ bool IncrementalService::prepareDataLoader(IncrementalService::IncFsMount& ifs, } FileSystemControlParcel fsControlParcel; fsControlParcel.incremental = aidl::make_nullable<IncrementalFileSystemControlParcel>(); - fsControlParcel.incremental->cmd.reset(base::unique_fd(::dup(ifs.control.cmd))); + fsControlParcel.incremental->cmd.reset(base::unique_fd(::dup(ifs.control.cmd()))); fsControlParcel.incremental->pendingReads.reset( - base::unique_fd(::dup(ifs.control.pendingReads))); - fsControlParcel.incremental->log.reset(base::unique_fd(::dup(ifs.control.logs))); + base::unique_fd(::dup(ifs.control.pendingReads()))); + fsControlParcel.incremental->log.reset(base::unique_fd(::dup(ifs.control.logs()))); sp<IncrementalDataLoaderListener> listener = new IncrementalDataLoaderListener(*this, externalListener ? *externalListener |