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

Commit 0d11a371 authored by Aleksandr Lukin's avatar Aleksandr Lukin Committed by Android (Google) Code Review
Browse files

Merge "Extend the watchdog timeout when calling #partition operation" into main

parents 9b3fe247 0a430c10
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -217,6 +217,9 @@ class StorageManagerService extends IStorageManager.Stub
    /** Extended timeout for the system server watchdog. */
    private static final int SLOW_OPERATION_WATCHDOG_TIMEOUT_MS = 60 * 1000;

    /** Extended timeout for the system server watchdog for vold#partition operation. */
    private static final int PARTITION_OPERATION_WATCHDOG_TIMEOUT_MS = 3 * 60 * 1000;

    @GuardedBy("mLock")
    private final Set<Integer> mFuseMountedUser = new ArraySet<>();

@@ -2463,10 +2466,12 @@ class StorageManagerService extends IStorageManager.Stub
    @android.annotation.EnforcePermission(android.Manifest.permission.MOUNT_FORMAT_FILESYSTEMS)
    @Override
    public void partitionPublic(String diskId) {

        super.partitionPublic_enforcePermission();

        final CountDownLatch latch = findOrCreateDiskScanLatch(diskId);

        Watchdog.getInstance().setOneOffTimeoutForMonitors(
                PARTITION_OPERATION_WATCHDOG_TIMEOUT_MS, "#partition might be very slow");
        try {
            mVold.partition(diskId, IVold.PARTITION_TYPE_PUBLIC, -1);
            waitForLatch(latch, "partitionPublic", 3 * DateUtils.MINUTE_IN_MILLIS);
@@ -2483,6 +2488,9 @@ class StorageManagerService extends IStorageManager.Stub
        enforceAdminUser();

        final CountDownLatch latch = findOrCreateDiskScanLatch(diskId);

        Watchdog.getInstance().setOneOffTimeoutForMonitors(
                PARTITION_OPERATION_WATCHDOG_TIMEOUT_MS, "#partition might be very slow");
        try {
            mVold.partition(diskId, IVold.PARTITION_TYPE_PRIVATE, -1);
            waitForLatch(latch, "partitionPrivate", 3 * DateUtils.MINUTE_IN_MILLIS);
@@ -2499,6 +2507,9 @@ class StorageManagerService extends IStorageManager.Stub
        enforceAdminUser();

        final CountDownLatch latch = findOrCreateDiskScanLatch(diskId);

        Watchdog.getInstance().setOneOffTimeoutForMonitors(
                PARTITION_OPERATION_WATCHDOG_TIMEOUT_MS, "#partition might be very slow");
        try {
            mVold.partition(diskId, IVold.PARTITION_TYPE_MIXED, ratio);
            waitForLatch(latch, "partitionMixed", 3 * DateUtils.MINUTE_IN_MILLIS);