From: Eric Kohl Date: Mon, 15 Jun 2015 20:47:30 +0000 (+0000) Subject: [USETUP] X-Git-Tag: backups/colins-printing-for-freedom@73041~15^2~71 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=e8fdb27bd1e66afb18cce2ef06f2d0aae80b53a3 [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 svn path=/trunk/; revision=68156 --- diff --git a/reactos/base/setup/usetup/interface/usetup.c b/reactos/base/setup/usetup/interface/usetup.c index 9c54c657f4a..17f680d0aa9 100644 --- a/reactos/base/setup/usetup/interface/usetup.c +++ b/reactos/base/setup/usetup/interface/usetup.c @@ -2938,20 +2938,17 @@ CheckFileSystemPage(PINPUT_RECORD Ir) 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"; @@ -2961,12 +2958,21 @@ CheckFileSystemPage(PINPUT_RECORD Ir) 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"