From e83d8a993d91ae1c2808008ec688722162157788 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Wed, 9 Sep 2015 14:53:38 -0700 Subject: Special interval value to always run benchmarks. When interval is set of 0, always run benchmarks after every fstrim pass, which is roughly daily. We don't actually track the last benchmark time for internal storage, so this is the best way we have to enable this. Also disable benchmarking completely when interval is set to -1. Bug: 23942769 Change-Id: I11edfda063aac6e927c6cce56567169ebe83cb71 --- services/core/java/com/android/server/MountService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 0d64540672e4..4e721da3cc65 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -368,11 +368,17 @@ class MountService extends IMountService.Stub private boolean shouldBenchmark() { final long benchInterval = Settings.Global.getLong(mContext.getContentResolver(), Settings.Global.STORAGE_BENCHMARK_INTERVAL, DateUtils.WEEK_IN_MILLIS); + if (benchInterval == -1) { + return false; + } else if (benchInterval == 0) { + return true; + } + synchronized (mLock) { for (int i = 0; i < mVolumes.size(); i++) { final VolumeInfo vol = mVolumes.valueAt(i); final VolumeRecord rec = mRecords.get(vol.fsUuid); - if (vol.isMountedReadable() && rec != null) { + if (vol.isMountedWritable() && rec != null) { final long benchAge = System.currentTimeMillis() - rec.lastBenchMillis; if (benchAge >= benchInterval) { return true; -- cgit v1.2.3-59-g8ed1b