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/interfac…
==============================================================================
--- 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"