Loading services/core/java/com/android/server/DropBoxManagerService.java +6 −3 Original line number Diff line number Diff line Loading @@ -1036,10 +1036,13 @@ public final class DropBoxManagerService extends SystemService { } catch (IllegalArgumentException e) { // restat throws this on error throw new IOException("Can't restat: " + mDropBoxDir); } int available = mStatFs.getAvailableBlocks(); int nonreserved = available - mStatFs.getBlockCount() * reservePercent / 100; long available = mStatFs.getAvailableBlocksLong(); long nonreserved = available - mStatFs.getBlockCountLong() * reservePercent / 100; long maxAvailableLong = nonreserved * quotaPercent / 100; int maxAvailable = Math.toIntExact(Math.max(0, Math.min(maxAvailableLong, Integer.MAX_VALUE))); int maximum = quotaKb * 1024 / mBlockSize; mCachedQuotaBlocks = Math.min(maximum, Math.max(0, nonreserved * quotaPercent / 100)); mCachedQuotaBlocks = Math.min(maximum, maxAvailable); mCachedQuotaUptimeMillis = uptimeMillis; } Loading Loading
services/core/java/com/android/server/DropBoxManagerService.java +6 −3 Original line number Diff line number Diff line Loading @@ -1036,10 +1036,13 @@ public final class DropBoxManagerService extends SystemService { } catch (IllegalArgumentException e) { // restat throws this on error throw new IOException("Can't restat: " + mDropBoxDir); } int available = mStatFs.getAvailableBlocks(); int nonreserved = available - mStatFs.getBlockCount() * reservePercent / 100; long available = mStatFs.getAvailableBlocksLong(); long nonreserved = available - mStatFs.getBlockCountLong() * reservePercent / 100; long maxAvailableLong = nonreserved * quotaPercent / 100; int maxAvailable = Math.toIntExact(Math.max(0, Math.min(maxAvailableLong, Integer.MAX_VALUE))); int maximum = quotaKb * 1024 / mBlockSize; mCachedQuotaBlocks = Math.min(maximum, Math.max(0, nonreserved * quotaPercent / 100)); mCachedQuotaBlocks = Math.min(maximum, maxAvailable); mCachedQuotaUptimeMillis = uptimeMillis; } Loading