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
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");