Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e83d8a99 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

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
parent ebd14658
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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;