summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author sandrom <sandrom@google.com> 2022-02-21 17:53:55 +0000
committer sandrom <sandrom@google.com> 2022-03-02 08:08:23 +0000
commitf76f5842a410b7f653dd9474d7b9e4dc64880f3c (patch)
tree055ce231afa0cea397c622ea0980b8fd49a8d3f3
parent2da74e082054934cab109327ee8bf6b74702290c (diff)
Add /metadata info on dumpsys diskstats and StatsPullAtomService
Bug: 208676063 Test: manual tests Change-Id: Ice3b706222aa1f77beadb1b9f4ae93f0d796a0b0
-rw-r--r--core/java/android/os/Environment.java10
-rw-r--r--core/proto/android/service/diskstats.proto2
-rw-r--r--services/core/java/com/android/server/DiskStatsService.java2
-rw-r--r--services/core/java/com/android/server/stats/pull/StatsPullAtomService.java5
4 files changed, 19 insertions, 0 deletions
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index 2ed0bad69460..2f2f65bbe9d2 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -101,6 +101,7 @@ public class Environment {
private static final File DIR_ANDROID_EXPAND = getDirectory(ENV_ANDROID_EXPAND, "/mnt/expand");
private static final File DIR_ANDROID_STORAGE = getDirectory(ENV_ANDROID_STORAGE, "/storage");
private static final File DIR_DOWNLOAD_CACHE = getDirectory(ENV_DOWNLOAD_CACHE, "/cache");
+ private static final File DIR_METADATA = new File("/metadata");
private static final File DIR_OEM_ROOT = getDirectory(ENV_OEM_ROOT, "/oem");
private static final File DIR_ODM_ROOT = getDirectory(ENV_ODM_ROOT, "/odm");
private static final File DIR_VENDOR_ROOT = getDirectory(ENV_VENDOR_ROOT, "/vendor");
@@ -1102,6 +1103,15 @@ public class Environment {
}
/**
+ * Return the metadata directory.
+ *
+ * @hide
+ */
+ public static @NonNull File getMetadataDirectory() {
+ return DIR_METADATA;
+ }
+
+ /**
* Unknown storage state, such as when a path isn't backed by known storage
* media.
*
diff --git a/core/proto/android/service/diskstats.proto b/core/proto/android/service/diskstats.proto
index f79de394a50f..ad3d67346292 100644
--- a/core/proto/android/service/diskstats.proto
+++ b/core/proto/android/service/diskstats.proto
@@ -99,6 +99,8 @@ message DiskStatsFreeSpaceProto {
FOLDER_CACHE = 1;
// System folder
FOLDER_SYSTEM = 2;
+ // Metadata folder
+ FOLDER_METADATA = 3;
}
// Which folder?
optional Folder folder = 1;
diff --git a/services/core/java/com/android/server/DiskStatsService.java b/services/core/java/com/android/server/DiskStatsService.java
index 8ea3dd64697e..1095ba31069f 100644
--- a/services/core/java/com/android/server/DiskStatsService.java
+++ b/services/core/java/com/android/server/DiskStatsService.java
@@ -125,6 +125,8 @@ public class DiskStatsService extends Binder {
DiskStatsFreeSpaceProto.FOLDER_CACHE);
reportFreeSpace(new File("/system"), "System", pw, proto,
DiskStatsFreeSpaceProto.FOLDER_SYSTEM);
+ reportFreeSpace(Environment.getMetadataDirectory(), "Metadata", pw, proto,
+ DiskStatsFreeSpaceProto.FOLDER_METADATA);
boolean fileBased = StorageManager.isFileEncryptedNativeOnly();
boolean blockBased = fileBased ? false : StorageManager.isBlockEncrypted();
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 1fa948cef216..9cf38e3ca92f 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -2609,6 +2609,7 @@ public class StatsPullAtomService extends SystemService {
StatFs statFsData = new StatFs(Environment.getDataDirectory().getAbsolutePath());
StatFs statFsSystem = new StatFs(Environment.getRootDirectory().getAbsolutePath());
StatFs statFsCache = new StatFs(Environment.getDownloadCacheDirectory().getAbsolutePath());
+ StatFs metadataFsSystem = new StatFs(Environment.getMetadataDirectory().getAbsolutePath());
pulledData.add(FrameworkStatsLog.buildStatsEvent(atomTag,
FrameworkStatsLog.DIRECTORY_USAGE__DIRECTORY__DATA, statFsData.getAvailableBytes(),
@@ -2621,6 +2622,10 @@ public class StatsPullAtomService extends SystemService {
pulledData.add(FrameworkStatsLog.buildStatsEvent(atomTag,
FrameworkStatsLog.DIRECTORY_USAGE__DIRECTORY__SYSTEM,
statFsSystem.getAvailableBytes(), statFsSystem.getTotalBytes()));
+
+ pulledData.add(FrameworkStatsLog.buildStatsEvent(atomTag,
+ FrameworkStatsLog.DIRECTORY_USAGE__DIRECTORY__METADATA,
+ metadataFsSystem.getAvailableBytes(), metadataFsSystem.getTotalBytes()));
return StatsManager.PULL_SUCCESS;
}