This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new 53c55f7  [ISSUE #3245] Use df algorithm to calculate the disk used 
ratio
53c55f7 is described below

commit 53c55f7dc55f4b815e0918918a04eb29712b1697
Author: aaron ai <[email protected]>
AuthorDate: Sun Sep 12 16:50:48 2021 +0800

    [ISSUE #3245] Use df algorithm to calculate the disk used ratio
---
 .../src/main/java/org/apache/rocketmq/common/UtilAll.java   | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java 
b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java
index 776c991..6318be0 100644
--- a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java
+++ b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java
@@ -218,10 +218,15 @@ public class UtilAll {
             long totalSpace = file.getTotalSpace();
 
             if (totalSpace > 0) {
-                long freeSpace = file.getFreeSpace();
-                long usedSpace = totalSpace - freeSpace;
-
-                return usedSpace / (double) totalSpace;
+                long usedSpace = totalSpace - file.getFreeSpace();
+                long usableSpace = file.getUsableSpace();
+                long entireSpace = usedSpace + usableSpace;
+                long roundNum = 0;
+                if (usedSpace * 100 % entireSpace != 0) {
+                    roundNum = 1;
+                }
+                long result = usedSpace * 100 / entireSpace + roundNum;
+                return result / 100.0;
             }
         } catch (Exception e) {
             log.error("Error when measuring disk space usage, got exception: 
:", e);

Reply via email to