Skip to content

Commit

Permalink
Do not relay to Attached.
Browse files Browse the repository at this point in the history
Apparently it is not required for ZFS to work, and we
have seen BSOD from it.

Signed-off-by: Jorgen Lundman <[email protected]>
  • Loading branch information
lundman committed Sep 13, 2024
1 parent 2a63b77 commit 0c857ad
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions module/os/windows/zfs/zfs_vnops_windows.c
Original file line number Diff line number Diff line change
Expand Up @@ -7906,12 +7906,14 @@ _Function_class_(DRIVER_DISPATCH)
}

// If unload, refuse everything.
if (DriverExtension->ioctlDeviceObject == NULL) {
if (DriverExtension->ioctlDeviceObject ==
NULL) {
Status = STATUS_DEVICE_NOT_READY;
Irp->IoStatus.Status = Status;

IoCompleteRequest(Irp,
Status == STATUS_SUCCESS ? IO_DISK_INCREMENT :
Status == STATUS_SUCCESS ?
IO_DISK_INCREMENT :
IO_NO_INCREMENT);
return (Status);
}
Expand Down Expand Up @@ -7965,6 +7967,7 @@ _Function_class_(DRIVER_DISPATCH)

// Complete the request if it isn't pending (ie, we
// called zfsdev_async())
#if 0
if ((Status == STATUS_INVALID_DEVICE_REQUEST) && Irp &&
zmo != NULL &&
zmo->AttachedDevice != NULL &&
Expand All @@ -7977,7 +7980,9 @@ _Function_class_(DRIVER_DISPATCH)
dprintf("Lower Device said 0x%0x %s\n", Status,
common_status_str(Status));

} else if ((Status == STATUS_INVALID_DEVICE_REQUEST) && Irp &&
} else
#endif
if ((Status == STATUS_INVALID_DEVICE_REQUEST) && Irp &&
zmo != NULL &&
DriverExtension->LowerDeviceObject != NULL &&
DriverExtension->ioctlDeviceObject) {
Expand Down

0 comments on commit 0c857ad

Please sign in to comment.