partition: support texfat module
Change-Id: I21d0498fc16fdb29d09d6e6fe715e57d1f35e72b
diff --git a/partition.cpp b/partition.cpp
index b5aaccc..248ee9b 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -1001,7 +1001,15 @@
}
return true;
}
- } else if (!exfat_mounted && mount(Actual_Block_Device.c_str(), Mount_Point.c_str(), Current_File_System.c_str(), Mount_Flags, Mount_Options.c_str()) != 0 && mount(Actual_Block_Device.c_str(), Mount_Point.c_str(), Current_File_System.c_str(), Mount_Flags, NULL) != 0) {
+ }
+
+ string mount_fs = Current_File_System;
+ if (Current_File_System == "exfat" && TWFunc::Path_Exists("/sys/module/texfat"))
+ mount_fs = "texfat";
+
+ if (!exfat_mounted &&
+ mount(Actual_Block_Device.c_str(), Mount_Point.c_str(), mount_fs.c_str(), Mount_Flags, Mount_Options.c_str()) != 0 &&
+ mount(Actual_Block_Device.c_str(), Mount_Point.c_str(), mount_fs.c_str(), Mount_Flags, NULL) != 0) {
#ifdef TW_NO_EXFAT_FUSE
if (Current_File_System == "exfat") {
LOGINFO("Mounting exfat failed, trying vfat...\n");