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 */
FILE_DEVICE_DISK_FILE_SYSTEM);
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;
}