mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 09:24:11 +00:00
[NTFS]
Finally, move old stuff back from disk.sys to ntfs.sys now it can be properly reached on volume opening: - Halfplement NtfsUserFsRequest() and add support for IRP_MN_USER_FS_REQUEST in NtfsFsdFileSystemControl() - Also, use the proper FSCTL code: FSCTL_GET_NTFS_VOLUME_DATA which exists and is documented instead of FSCTL_GET_NTFS_VOLUME_DATA. Spotted by Christoph. CORE-8725 svn path=/trunk/; revision=65106
This commit is contained in:
parent
c009666393
commit
0872193d40
|
@ -526,6 +526,34 @@ NtfsVerifyVolume(PDEVICE_OBJECT DeviceObject,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
NTSTATUS
|
||||||
|
NtfsUserFsRequest(PDEVICE_OBJECT DeviceObject,
|
||||||
|
PIRP Irp)
|
||||||
|
{
|
||||||
|
NTSTATUS Status;
|
||||||
|
PIO_STACK_LOCATION Stack;
|
||||||
|
|
||||||
|
DPRINT1("NtfsUserFsRequest(%p, %p)\n", DeviceObject, Irp);
|
||||||
|
|
||||||
|
Stack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
switch (Stack->Parameters.FileSystemControl.FsControlCode)
|
||||||
|
{
|
||||||
|
case FSCTL_GET_NTFS_VOLUME_DATA:
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
Status = STATUS_NOT_IMPLEMENTED;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
DPRINT1("Invalid user request: %x\n", Stack->Parameters.FileSystemControl.FsControlCode);
|
||||||
|
Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
NtfsFsdFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
NtfsFsdFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
|
@ -541,11 +569,14 @@ NtfsFsdFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
switch (Stack->MinorFunction)
|
switch (Stack->MinorFunction)
|
||||||
{
|
{
|
||||||
case IRP_MN_KERNEL_CALL:
|
case IRP_MN_KERNEL_CALL:
|
||||||
case IRP_MN_USER_FS_REQUEST:
|
DPRINT1("NTFS: IRP_MN_USER_FS_REQUEST\n");
|
||||||
DPRINT("NTFS: IRP_MN_USER_FS_REQUEST/IRP_MN_KERNEL_CALL\n");
|
|
||||||
Status = STATUS_INVALID_DEVICE_REQUEST;
|
Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case IRP_MN_USER_FS_REQUEST:
|
||||||
|
Status = NtfsUserFsRequest(DeviceObject, Irp);
|
||||||
|
break;
|
||||||
|
|
||||||
case IRP_MN_MOUNT_VOLUME:
|
case IRP_MN_MOUNT_VOLUME:
|
||||||
DPRINT("NTFS: IRP_MN_MOUNT_VOLUME\n");
|
DPRINT("NTFS: IRP_MN_MOUNT_VOLUME\n");
|
||||||
Status = NtfsMountVolume(DeviceObject, Irp);
|
Status = NtfsMountVolume(DeviceObject, Irp);
|
||||||
|
@ -557,7 +588,7 @@ NtfsFsdFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DPRINT("NTFS FSC: MinorFunction %d\n", Stack->MinorFunction);
|
DPRINT1("NTFS FSC: MinorFunction %d\n", Stack->MinorFunction);
|
||||||
Status = STATUS_INVALID_DEVICE_REQUEST;
|
Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue