nvme_disk: Unlock the ReadLocker before notifying the IORequest.
SetStatusAndNotify might call us back for more I/O, and we don't need (or want) to hold a read-lock for that. It will be acquired anew if necessary.
This commit is contained in:
@@ -780,6 +780,8 @@ nvme_disk_io(void* cookie, io_request* request)
|
|||||||
if (status != B_OK)
|
if (status != B_OK)
|
||||||
TRACE_ERROR("I/O failed: %s\n", strerror(status));
|
TRACE_ERROR("I/O failed: %s\n", strerror(status));
|
||||||
|
|
||||||
|
readLocker.Unlock();
|
||||||
|
|
||||||
request->SetTransferredBytes(status != B_OK,
|
request->SetTransferredBytes(status != B_OK,
|
||||||
(nvme_request.lba_start * block_size) - rounded_pos);
|
(nvme_request.lba_start * block_size) - rounded_pos);
|
||||||
request->SetStatusAndNotify(status);
|
request->SetStatusAndNotify(status);
|
||||||
|
|||||||
Reference in New Issue
Block a user