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 a0c09d3 commit 79e3306
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 79e3306

Please sign in to comment.