diff options
| -rw-r--r-- | services/core/java/com/android/server/StorageManagerService.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/storage/StorageUserConnection.java | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java index 63a984ccdc6f..d479f23c5d49 100644 --- a/services/core/java/com/android/server/StorageManagerService.java +++ b/services/core/java/com/android/server/StorageManagerService.java @@ -52,7 +52,6 @@ import static com.android.internal.util.XmlUtils.readStringAttribute; import static com.android.internal.util.XmlUtils.writeIntAttribute; import static com.android.internal.util.XmlUtils.writeLongAttribute; import static com.android.internal.util.XmlUtils.writeStringAttribute; -import static com.android.server.storage.StorageUserConnection.REMOTE_TIMEOUT_SECONDS; import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT; import static org.xmlpull.v1.XmlPullParser.START_TAG; @@ -224,6 +223,9 @@ class StorageManagerService extends IStorageManager.Stub private static final String ANDROID_VOLD_APP_DATA_ISOLATION_ENABLED_PROPERTY = "persist.sys.vold_app_data_isolation_enabled"; + // How long we wait to reset storage, if we failed to call onMount on the + // external storage service. + public static final int FAILED_MOUNT_RESET_TIMEOUT_SECONDS = 10; /** * If {@code 1}, enables the isolated storage feature. If {@code -1}, * disables the isolated storage feature. If {@code 0}, uses the default @@ -2202,7 +2204,7 @@ class StorageManagerService extends IStorageManager.Stub } catch (ExternalStorageServiceException e) { Slog.e(TAG, "Failed to mount volume " + vol, e); - int nextResetSeconds = REMOTE_TIMEOUT_SECONDS * 2; + int nextResetSeconds = FAILED_MOUNT_RESET_TIMEOUT_SECONDS; Slog.i(TAG, "Scheduling reset in " + nextResetSeconds + "s"); mHandler.removeMessages(H_RESET); mHandler.sendMessageDelayed(mHandler.obtainMessage(H_RESET), diff --git a/services/core/java/com/android/server/storage/StorageUserConnection.java b/services/core/java/com/android/server/storage/StorageUserConnection.java index 94a250236200..ed5706752cb2 100644 --- a/services/core/java/com/android/server/storage/StorageUserConnection.java +++ b/services/core/java/com/android/server/storage/StorageUserConnection.java @@ -62,7 +62,7 @@ import java.util.concurrent.TimeoutException; public final class StorageUserConnection { private static final String TAG = "StorageUserConnection"; - public static final int REMOTE_TIMEOUT_SECONDS = 5; + public static final int REMOTE_TIMEOUT_SECONDS = 20; private final Object mLock = new Object(); private final Context mContext; @@ -202,6 +202,7 @@ public final class StorageUserConnection { try { if (!latch.await(REMOTE_TIMEOUT_SECONDS, TimeUnit.SECONDS)) { // TODO(b/140025078): Call ActivityManager ANR API? + Slog.wtf(TAG, "Failed to bind to the ExternalStorageService for user " + mUserId); throw new TimeoutException("Latch wait for " + reason + " elapsed"); } } catch (InterruptedException e) { |