OSDN Git Service

Don't ostensibly back off fstrim but then do it anyway
authorChristopher Tate <ctate@google.com>
Tue, 28 Apr 2015 23:32:55 +0000 (16:32 -0700)
committerChristopher Tate <ctate@google.com>
Wed, 29 Apr 2015 00:15:40 +0000 (17:15 -0700)
When the mount service isn't up yet, we schedule a retry in the near
future, but then mistakenly go ahead and try (unsuccessfully) to do the
fstrim immediately anyway.  Don't do that.  Furthermore, when in this
situation make sure to preserve knowledge of any completion callback
that may be expecting to hear back about the [eventual] fstrim operation.

Change-Id: Ic7cba37b4f850540f6e448168be0c42418039b01

services/core/java/com/android/server/MountService.java

index 7172ab7..643ff5f 100644 (file)
@@ -580,7 +580,9 @@ class MountService extends IMountService.Stub
                 case H_FSTRIM: {
                     if (!isReady()) {
                         Slog.i(TAG, "fstrim requested, but no daemon connection yet; trying again");
-                        sendMessageDelayed(obtainMessage(H_FSTRIM), DateUtils.SECOND_IN_MILLIS);
+                        sendMessageDelayed(obtainMessage(H_FSTRIM, msg.obj),
+                                DateUtils.SECOND_IN_MILLIS);
+                        break;
                     }
 
                     Slog.i(TAG, "Running fstrim idle maintenance");