[IncrementalService] use sysfs_name in mount options and dumpsys
BUG: 184844615
Test: adb shell dumpsys incremental
Change-Id: Ib6bbbede6d4fbed0bcef8d37f377e706b9d1af28
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp
index f3e7d67..de8c8bc 100644
--- a/services/incremental/IncrementalService.cpp
+++ b/services/incremental/IncrementalService.cpp
@@ -411,6 +411,8 @@
} else {
dprintf(fd, " mountId: %d\n", mnt.mountId);
dprintf(fd, " root: %s\n", mnt.root.c_str());
+ const auto metricsInstanceName = path::basename(ifs->root);
+ dprintf(fd, " metrics instance name: %s\n", path::c_str(metricsInstanceName).get());
dprintf(fd, " nextStorageDirNo: %d\n", mnt.nextStorageDirNo.load());
dprintf(fd, " flags: %d\n", int(mnt.flags));
if (mnt.startLoadingTs.time_since_epoch() == Clock::duration::zero()) {
@@ -440,6 +442,26 @@
dprintf(fd, " kind: %s\n", toString(bind.kind));
}
dprintf(fd, " }\n");
+
+ dprintf(fd, " incfsMetrics: {\n");
+ const auto incfsMetrics = mIncFs->getMetrics(metricsInstanceName);
+ if (incfsMetrics) {
+ dprintf(fd, " readsDelayedMin: %d\n", incfsMetrics.value().readsDelayedMin);
+ dprintf(fd, " readsDelayedMinUs: %lld\n",
+ (long long)incfsMetrics.value().readsDelayedMinUs);
+ dprintf(fd, " readsDelayedPending: %d\n",
+ incfsMetrics.value().readsDelayedPending);
+ dprintf(fd, " readsDelayedPendingUs: %lld\n",
+ (long long)incfsMetrics.value().readsDelayedPendingUs);
+ dprintf(fd, " readsFailedHashVerification: %d\n",
+ incfsMetrics.value().readsFailedHashVerification);
+ dprintf(fd, " readsFailedOther: %d\n", incfsMetrics.value().readsFailedOther);
+ dprintf(fd, " readsFailedTimedOut: %d\n",
+ incfsMetrics.value().readsFailedTimedOut);
+ } else {
+ dprintf(fd, " Metrics not available. Errno: %d\n", errno);
+ }
+ dprintf(fd, " }\n");
}
dprintf(fd, " }\n");
}
@@ -578,7 +600,7 @@
if (!mkdirOrLog(path::join(backing, ".incomplete"), 0777)) {
return kInvalidStorageId;
}
- auto status = mVold->mountIncFs(backing, mountTarget, 0, &controlParcel);
+ auto status = mVold->mountIncFs(backing, mountTarget, 0, mountKey, &controlParcel);
if (!status.isOk()) {
LOG(ERROR) << "Vold::mountIncFs() failed: " << status.toString8();
return kInvalidStorageId;
@@ -1586,9 +1608,10 @@
bool IncrementalService::mountExistingImage(std::string_view root) {
auto mountTarget = path::join(root, constants().mount);
const auto backing = path::join(root, constants().backing);
+ std::string mountKey(path::basename(path::dirname(mountTarget)));
IncrementalFileSystemControlParcel controlParcel;
- auto status = mVold->mountIncFs(backing, mountTarget, 0, &controlParcel);
+ auto status = mVold->mountIncFs(backing, mountTarget, 0, mountKey, &controlParcel);
if (!status.isOk()) {
LOG(ERROR) << "Vold::mountIncFs() failed: " << status.toString8();
return false;