Commit a7a7dab
nvme: core: don't hold rcu read lock in nvme_ns_chr_uring_cmd_iopoll
Now nvme_ns_chr_uring_cmd_iopoll() has switched to request based io
polling, and the associated NS is guaranteed to be live in case of
io polling, so request is guaranteed to be valid because blk-mq uses
pre-allocated request pool.
Remove the rcu read lock in nvme_ns_chr_uring_cmd_iopoll(), which
isn't needed any more after switching to request based io polling.
Fix "BUG: sleeping function called from invalid context" because
set_page_dirty_lock() from blk_rq_unmap_user() may sleep.
Fixes: 585079b ("nvme: wire up async polling for io passthrough commands")
Reported-by: Guangwu Zhang <[email protected]>
Cc: Kanchan Joshi <[email protected]>
Cc: Anuj Gupta <[email protected]>
Signed-off-by: Ming Lei <[email protected]>
Tested-by: Guangwu Zhang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>1 parent f099a10 commit a7a7dab
1 file changed
Lines changed: 0 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
786 | 786 | | |
787 | 787 | | |
788 | 788 | | |
789 | | - | |
790 | 789 | | |
791 | 790 | | |
792 | 791 | | |
793 | | - | |
794 | 792 | | |
795 | 793 | | |
796 | 794 | | |
| |||
0 commit comments