Initial f2fs support
Need to add this to your source tree: https://github.com/razrqcom-dev-team/android_external_f2fs-tools Change-Id: I3ee9ebbb617259655518f8ea356ce7b8c246cd4d
This commit is contained in:
@@ -500,6 +500,7 @@ bool TWPartition::Is_File_System(string File_System) {
|
||||
File_System == "ntfs" ||
|
||||
File_System == "yaffs2" ||
|
||||
File_System == "exfat" ||
|
||||
File_System == "f2fs" ||
|
||||
File_System == "auto")
|
||||
return true;
|
||||
else
|
||||
@@ -1005,6 +1006,8 @@ bool TWPartition::Wipe(string New_File_System) {
|
||||
wiped = Wipe_EXFAT();
|
||||
else if (New_File_System == "yaffs2")
|
||||
wiped = Wipe_MTD();
|
||||
else if (New_File_System == "f2fs")
|
||||
wiped = Wipe_F2FS();
|
||||
else {
|
||||
LOGERR("Unable to wipe '%s' -- unknown file system '%s'\n", Mount_Point.c_str(), New_File_System.c_str());
|
||||
unlink("/.layout_version");
|
||||
@@ -1398,6 +1401,32 @@ bool TWPartition::Wipe_RMRF() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TWPartition::Wipe_F2FS() {
|
||||
string command, result;
|
||||
|
||||
if (TWFunc::Path_Exists("/sbin/mkfs.f2fs")) {
|
||||
if (!UnMount(true))
|
||||
return false;
|
||||
|
||||
gui_print("Formatting %s using mkfs.f2fs...\n", Display_Name.c_str());
|
||||
Find_Actual_Block_Device();
|
||||
command = "mkfs.f2fs " + Actual_Block_Device;
|
||||
if (TWFunc::Exec_Cmd(command, result) == 0) {
|
||||
Recreate_AndSec_Folder();
|
||||
gui_print("Done.\n");
|
||||
return true;
|
||||
} else {
|
||||
LOGERR("Unable to wipe '%s'.\n", Mount_Point.c_str());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
gui_print("mkfs.f2fs binary not found, using rm -rf to wipe.\n");
|
||||
return Wipe_RMRF();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TWPartition::Wipe_Data_Without_Wiping_Media() {
|
||||
string dir;
|
||||
|
||||
|
||||
@@ -92,6 +92,7 @@ private:
|
||||
bool Wipe_EXFAT(); // Formats as EXFAT
|
||||
bool Wipe_MTD(); // Formats as yaffs2 for MTD memory types
|
||||
bool Wipe_RMRF(); // Uses rm -rf to wipe
|
||||
bool Wipe_F2FS(); // Uses mkfs.f2fs to wipe
|
||||
bool Wipe_Data_Without_Wiping_Media(); // Uses rm -rf to wipe but does not wipe /data/media
|
||||
bool Backup_Tar(string backup_folder); // Backs up using tar for file systems
|
||||
bool Backup_DD(string backup_folder); // Backs up using dd for emmc memory types
|
||||
|
||||
@@ -89,6 +89,11 @@ ifneq ($(TW_EXCLUDE_ENCRYPTED_BACKUPS), true)
|
||||
RELINK_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/sbin/openaes
|
||||
RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libopenaes.so
|
||||
endif
|
||||
ifeq ($(TARGET_USERIMAGES_USE_F2FS), true)
|
||||
RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/mkfs.f2fs
|
||||
RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/fsck.f2fs
|
||||
RELINK_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/fibmap.f2fs
|
||||
endif
|
||||
|
||||
TWRP_AUTOGEN := $(intermediates)/teamwin
|
||||
|
||||
|
||||
Reference in New Issue
Block a user