summaryrefslogtreecommitdiffstats
path: root/partition.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'partition.cpp')
-rw-r--r--partition.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/partition.cpp b/partition.cpp
index 123e9fa3f..6225f221f 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -2035,3 +2035,28 @@ void TWPartition::Recreate_AndSec_Folder(void) {
PartitionManager.UnMount_By_Path(Symlink_Mount_Point, true);
}
}
+
+uint64_t TWPartition::Get_Max_FileSize() {
+ uint64_t maxFileSize = 0;
+ const uint64_t constGB = (uint64_t) 1024 * 1024 * 1024;
+ const uint64_t constTB = (uint64_t) constGB * 1024;
+ const uint64_t constPB = (uint64_t) constTB * 1024;
+ const uint64_t constEB = (uint64_t) constPB * 1024;
+
+ if (Current_File_System == "ext4")
+ maxFileSize = 16 * constTB; //16 TB
+ else if (Current_File_System == "vfat")
+ maxFileSize = 4 * constGB; //4 GB
+ else if (Current_File_System == "ntfs")
+ maxFileSize = 256 * constTB; //256 TB
+ if (Current_File_System == "exfat")
+ maxFileSize = 16 * constPB; //16 PB
+ else if (Current_File_System == "ext3")
+ maxFileSize = 2 * constTB; //2 TB
+ else if (Current_File_System == "f2fs")
+ maxFileSize = 3.94 * constTB; //3.94 TB
+ else
+ maxFileSize = 100000000L;
+ return maxFileSize - 1;
+}
+