IncFS: pass over the new .blocks_written IncFS control file
Bug: 170231230
Test: incremental and PackageManager unit tests
Ignore-AOSP-First: new IncFS API is an internal-first topic
Change-Id: I7fccaf367d4b98294e2e6da4460792514147d954
diff --git a/VoldNativeService.cpp b/VoldNativeService.cpp
index 03dee48..7a6ceff 100644
--- a/VoldNativeService.cpp
+++ b/VoldNativeService.cpp
@@ -920,6 +920,9 @@
_aidl_return->cmd.reset(unique_fd(fds[CMD].release()));
_aidl_return->pendingReads.reset(unique_fd(fds[PENDING_READS].release()));
_aidl_return->log.reset(unique_fd(fds[LOGS].release()));
+ if (fds[BLOCKS_WRITTEN].ok()) {
+ _aidl_return->blocksWritten.emplace(unique_fd(fds[BLOCKS_WRITTEN].release()));
+ }
return Ok();
}
@@ -936,7 +939,8 @@
ENFORCE_SYSTEM_OR_ROOT;
auto incfsControl =
- incfs::createControl(control.cmd.get(), control.pendingReads.get(), control.log.get());
+ incfs::createControl(control.cmd.get(), control.pendingReads.get(), control.log.get(),
+ control.blocksWritten ? control.blocksWritten->get() : -1);
auto cleanupFunc = [](auto incfsControl) {
for (auto& fd : incfsControl->releaseFds()) {
(void)fd.release();