Author: ekohl Date: Mon Jun 15 20:47:30 2015 New Revision: 68156
URL: http://svn.reactos.org/svn/reactos?rev=68156&view=rev Log: [USETUP] Fix broken filesystem detection. - Treat FAT32 filesystems like FAT filesystems because we do not provide a FAT32 entry in the filesystemlist. - HACK: Do not try to check an unidentified filesystem.
CORE-9815 #resolve
Modified: trunk/reactos/base/setup/usetup/interface/usetup.c
Modified: trunk/reactos/base/setup/usetup/interface/usetup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/interface... ============================================================================== --- trunk/reactos/base/setup/usetup/interface/usetup.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/interface/usetup.c [iso-8859-1] Mon Jun 15 20:47:30 2015 @@ -2938,20 +2938,17 @@ CONSOLE_SetStatusText(MUIGetString(STRING_PLEASEWAIT));
CurrentFileSystem = PartEntry->FileSystem; - if (CurrentFileSystem->FileSystemName == NULL) + if (CurrentFileSystem == NULL || CurrentFileSystem->FileSystemName == NULL) { if ((PartEntry->PartitionType == PARTITION_FAT_12) || (PartEntry->PartitionType == PARTITION_FAT_16) || (PartEntry->PartitionType == PARTITION_HUGE) || - (PartEntry->PartitionType == PARTITION_XINT13)) + (PartEntry->PartitionType == PARTITION_XINT13) || + (PartEntry->PartitionType == PARTITION_FAT32) || + (PartEntry->PartitionType == PARTITION_FAT32_XINT13)) { FileSystemName = L"FAT"; } - else if ((PartEntry->PartitionType == PARTITION_FAT32) || - (PartEntry->PartitionType == PARTITION_FAT32_XINT13)) - { - FileSystemName = L"FAT32"; - } else if (PartEntry->PartitionType == PARTITION_EXT2) { FileSystemName = L"EXT2"; @@ -2960,13 +2957,22 @@ { FileSystemName = L"NTFS"; /* FIXME: Not quite correct! */ } + + DPRINT("FileSystemName: %S\n", FileSystemName);
if (FileSystemName != NULL) CurrentFileSystem = GetFileSystemByName(FileSystemList, FileSystemName); }
- if (CurrentFileSystem == NULL || CurrentFileSystem->ChkdskFunc == NULL) + /* HACK: Do not try to check a partition with an unknown filesytem */ + if (CurrentFileSystem == NULL) + { + PartEntry->NeedsCheck = FALSE; + return CHECK_FILE_SYSTEM_PAGE; + } + + if (CurrentFileSystem->ChkdskFunc == NULL) { sprintf(Buffer, "Setup is currently unable to check a partition formatted in %S.\n"