[FS_REC]
[reactos.git] / reactos / drivers / filesystems / fs_rec / fs_rec.c
index a12d6bf..c4ba8b9 100644 (file)
@@ -10,6 +10,7 @@
 /* INCLUDES *****************************************************************/
 
 #include "fs_rec.h"
+
 #define NDEBUG
 #include <debug.h>
 
@@ -163,6 +164,18 @@ FsRecFsControl(IN PDEVICE_OBJECT DeviceObject,
             Status = FsRecExt2FsControl(DeviceObject, Irp);
             break;
 
+        case FS_TYPE_BTRFS:
+
+            /* Send BTRFS command */
+            Status = FsRecBtrfsFsControl(DeviceObject, Irp);
+            break;
+
+        case FS_TYPE_REISERFS:
+
+            /* Send REISERFS command */
+            Status = FsRecReiserfsFsControl(DeviceObject, Irp);
+            break;
+
         default:
 
             /* Unrecognized FS */
@@ -372,14 +385,34 @@ 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++;
+
+    /* Register BTRFS */
+    Status = FsRecRegisterFs(DriverObject,
+                             NULL,
+                             NULL,
+                             L"\\Btrfs",
+                             L"\\FileSystem\\BtrfsRecognizer",
+                             FS_TYPE_BTRFS,
+                             FILE_DEVICE_DISK_FILE_SYSTEM);
+    if (NT_SUCCESS(Status)) DeviceCount++;
+
+    /* Register REISERFS */
+    Status = FsRecRegisterFs(DriverObject,
+                             NULL,
+                             NULL,
+                             L"\\Reiserfs",
+                             L"\\FileSystem\\ReiserfsRecognizer",
+                             FS_TYPE_REISERFS,
+                             FILE_DEVICE_DISK_FILE_SYSTEM);
+    if (NT_SUCCESS(Status)) DeviceCount++;
 
     /* Return appropriate Status */
     return (DeviceCount > 0) ? STATUS_SUCCESS : STATUS_IMAGE_ALREADY_LOADED;