summaryrefslogtreecommitdiff
path: root/services/incremental/IncrementalService.cpp
diff options
context:
space:
mode:
authorSongchun Fan <schfan@google.com>2020-03-03 09:47:15 -0800
committerSongchun Fan <schfan@google.com>2020-03-27 16:40:27 -0700
commit20d6ef247794ca9d3d09445c644fd29fb474ee32 (patch)
tree26d3beb1d782ab12702434f0ea436c65e43eb43f /services/incremental/IncrementalService.cpp
parent2939486f377c4bd40af98f264800a61125034728 (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.cpp23
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