From f949c37e14bd0ccdbb0fba7e2599b817133f9ed9 Mon Sep 17 00:00:00 2001 From: Songchun Fan Date: Tue, 27 Apr 2021 11:26:25 -0700 Subject: [IncrementalService] use sysfs_name in mount options and dumpsys BUG: 184844615 Test: adb shell dumpsys incremental Change-Id: Ib6bbbede6d4fbed0bcef8d37f377e706b9d1af28 --- services/incremental/IncrementalService.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'services/incremental/IncrementalService.cpp') diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp index f3e7d672ec95..de8c8bc94568 100644 --- a/services/incremental/IncrementalService.cpp +++ b/services/incremental/IncrementalService.cpp @@ -411,6 +411,8 @@ void IncrementalService::onDump(int fd) { } 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 @@ void IncrementalService::onDump(int fd) { 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 @@ StorageId IncrementalService::createStorage(std::string_view mountPoint, 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 @@ void IncrementalService::mountExistingImages( 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; -- cgit v1.2.3-59-g8ed1b