From 9b4d645ad080f8d6071581a947fcd14422fa238d Mon Sep 17 00:00:00 2001 From: James Tabor Date: Tue, 25 Feb 2014 03:39:23 +0000 Subject: [PATCH] [Ext2fs] - Fixed the driver start up for Ext2 partitions and drives. Now the driver loads. - At one time this driver worked on the same hardware I have today, same drives nothing has changed. Now since all the changes else where, guessing it broke something. - Don't assign and bug reports to me, if so, I will remove them! svn path=/trunk/; revision=62326 --- reactos/boot/bootdata/hivesys.inf | 10 +++++++++- reactos/drivers/filesystems/ext2/src/ext2init.c | 2 +- reactos/drivers/filesystems/ext2/src/fsctrl.c | 8 ++++++++ reactos/drivers/filesystems/fs_rec/ext2.c | 2 +- reactos/drivers/filesystems/fs_rec/fs_rec.c | 6 +++--- 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/reactos/boot/bootdata/hivesys.inf b/reactos/boot/bootdata/hivesys.inf index 010a2ba52d7..b704b6bd28c 100644 --- a/reactos/boot/bootdata/hivesys.inf +++ b/reactos/boot/bootdata/hivesys.inf @@ -1561,6 +1561,14 @@ HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","ImagePath",0x00020000,"system3 HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","Start",0x00010001,0x00000000 HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","Type",0x00010001,0x00000001 +; MountMgr driver +;HKLM,"SYSTEM\CurrentControlSet\Services\MountMgr","ErrorControl",0x00010001,0x00000001 +;HKLM,"SYSTEM\CurrentControlSet\Services\MountMgr","Group",0x00000000,"Boot Bus Extender" +;HKLM,"SYSTEM\CurrentControlSet\Services\MountMgr","ImagePath",0x00020000,"system32\drivers\mountmgr.sys" +;HKLM,"SYSTEM\CurrentControlSet\Services\MountMgr","Start",0x00010001,0x00000000 +;HKLM,"SYSTEM\CurrentControlSet\Services\MountMgr","Tag",0x00010001,0x00000008 +;HKLM,"SYSTEM\CurrentControlSet\Services\MountMgr","Type",0x00010001,0x00000001 + ; ACPI driver HKLM,"SYSTEM\CurrentControlSet\Services\acpi","ErrorControl",0x00010001,0x00000001 HKLM,"SYSTEM\CurrentControlSet\Services\acpi","Group",0x00000000,"Boot Bus Extender" @@ -1859,7 +1867,7 @@ HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","Type",0x00010001,0x00000002 ; EXT2 Filesystem driver HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","ErrorControl",0x00010001,0x00000000 HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","Group",0x00000000,"Boot File System" -HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","ImagePath",0x00020000,"system32\drivers\ext2.sys" +HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","ImagePath",0x00020000,"system32\drivers\ext2fs.sys" HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","Start",0x00010001,0x00000003 HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","Type",0x00010001,0x00000002 diff --git a/reactos/drivers/filesystems/ext2/src/ext2init.c b/reactos/drivers/filesystems/ext2/src/ext2init.c index 68e84f1bcc9..4ad2540ead4 100644 --- a/reactos/drivers/filesystems/ext2/src/ext2init.c +++ b/reactos/drivers/filesystems/ext2/src/ext2init.c @@ -20,7 +20,7 @@ #define EXT2_BUG_CHECK_ID EXT2_FILE_INIT #define DEBUG_LEVEL (DEBUG_TRACE_INIT) -#define EXT2_FS_NAME L"\\ext2" +#define EXT2_FS_NAME L"\\Ext2fs" // Must match others! // global variables are declared here Ext2Data Ext2GlobalData; diff --git a/reactos/drivers/filesystems/ext2/src/fsctrl.c b/reactos/drivers/filesystems/ext2/src/fsctrl.c index 26837451394..4af6001fe81 100644 --- a/reactos/drivers/filesystems/ext2/src/fsctrl.c +++ b/reactos/drivers/filesystems/ext2/src/fsctrl.c @@ -535,6 +535,7 @@ Ext2MountVolume ( else { DebugTrace(DEBUG_TRACE_MOUNT, "Failing mount. Partition not Ext2...", 0); + DbgPrint("Supper Blk Magic %x\n",SuperBlock->s_magic); } try_exit: NOTHING; @@ -782,7 +783,13 @@ BOOLEAN Ext2PerformVerifyDiskRead( if (Status == STATUS_INVALID_PARAMETER) { + DbgPrint("Ext2PerformVerifyDiskRead Invalid Param\n"); + return FALSE; + } + if (Status == STATUS_NO_MEDIA_IN_DEVICE) + { + DbgPrint("Ext2PerformVerifyDiskRead NO MEDIA in DEVICE!!! BS!!\n"); return FALSE; } @@ -792,6 +799,7 @@ BOOLEAN Ext2PerformVerifyDiskRead( if (!NT_SUCCESS(Status)) { + DbgPrint("Ext2PerformVerifyDiskRead Fail Status %x\n",Status); return FALSE; } diff --git a/reactos/drivers/filesystems/fs_rec/ext2.c b/reactos/drivers/filesystems/fs_rec/ext2.c index d940253247c..fa06eb0dfe3 100644 --- a/reactos/drivers/filesystems/fs_rec/ext2.c +++ b/reactos/drivers/filesystems/fs_rec/ext2.c @@ -93,7 +93,7 @@ FsRecExt2FsControl(IN PDEVICE_OBJECT DeviceObject, /* Load the file system */ Status = FsRecLoadFileSystem(DeviceObject, - L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\Ext2"); + L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\Ext2fs"); break; default: diff --git a/reactos/drivers/filesystems/fs_rec/fs_rec.c b/reactos/drivers/filesystems/fs_rec/fs_rec.c index 00b0a67b103..17293013dfc 100644 --- a/reactos/drivers/filesystems/fs_rec/fs_rec.c +++ b/reactos/drivers/filesystems/fs_rec/fs_rec.c @@ -373,14 +373,14 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject, if (NT_SUCCESS(Status)) DeviceCount++; /* Register EXT2 */ - /*Status = FsRecRegisterFs(DriverObject, + Status = FsRecRegisterFs(DriverObject, NULL, NULL, - L"\\Ext2", + L"\\Ext2fs", L"\\FileSystem\\Ext2Recognizer", FS_TYPE_EXT2, FILE_DEVICE_DISK_FILE_SYSTEM); - if (NT_SUCCESS(Status)) DeviceCount++;*/ + if (NT_SUCCESS(Status)){ DeviceCount++; DPRINT1("2 Ext2FS!!!!!\n");} /* Return appropriate Status */ return (DeviceCount > 0) ? STATUS_SUCCESS : STATUS_IMAGE_ALREADY_LOADED;