diff options
Diffstat (limited to 'partition.cpp')
-rw-r--r-- | partition.cpp | 25 |
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; +} + |