[Ext2fs]
authorJames Tabor <james.tabor@reactos.org>
Tue, 25 Feb 2014 03:39:23 +0000 (03:39 +0000)
committerJames Tabor <james.tabor@reactos.org>
Tue, 25 Feb 2014 03:39:23 +0000 (03:39 +0000)
- 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
reactos/drivers/filesystems/ext2/src/ext2init.c
reactos/drivers/filesystems/ext2/src/fsctrl.c
reactos/drivers/filesystems/fs_rec/ext2.c
reactos/drivers/filesystems/fs_rec/fs_rec.c

index 010a2ba..b704b6b 100644 (file)
@@ -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
 
index 68e84f1..4ad2540 100644 (file)
@@ -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;
index 2683745..4af6001 100644 (file)
@@ -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;
     }
 
index d940253..fa06eb0 100644 (file)
@@ -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:
index 00b0a67..1729301 100644 (file)
@@ -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;