Page MenuHomeFreeBSD

D30366.id89551.diff
No OneTemporary

D30366.id89551.diff

Index: sys/dev/nvme/nvme_ctrlr.c
===================================================================
--- sys/dev/nvme/nvme_ctrlr.c
+++ sys/dev/nvme/nvme_ctrlr.c
@@ -1431,7 +1431,13 @@
ctrlr->taskqueue = taskqueue_create("nvme_taskq", M_WAITOK,
taskqueue_thread_enqueue, &ctrlr->taskqueue);
- taskqueue_start_threads(&ctrlr->taskqueue, 1, PI_DISK, "nvme taskq");
+ /*
+ * Create 2 threads for the taskqueue. The reset thread will block when
+ * it detects that the controller has failed until all I/O has been
+ * failed up the stack. The fail_req task needs to be able to run in
+ * this case to finish the request failure for some cases.
+ */
+ taskqueue_start_threads(&ctrlr->taskqueue, 2, PI_DISK, "nvme taskq");
ctrlr->is_resetting = 0;
ctrlr->is_initialized = 0;

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 7, 5:08 PM (10 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38477607
Default Alt Text
D30366.id89551.diff (789 B)

Event Timeline