rust: block: add a borrowed blk-mq timeout callback#733
rust: block: add a borrowed blk-mq timeout callback#733blktests-ci[bot] wants to merge 2 commits intolinus-master_basefrom
Conversation
|
Upstream branch: 9a9c8ce |
78a4682 to
8f17195
Compare
|
Upstream branch: 028ef9c |
c5b2fa9 to
bc8fc0a
Compare
8f17195 to
6b4d829
Compare
|
Upstream branch: d60bc14 |
bc8fc0a to
1833c55
Compare
6b4d829 to
ceec5ed
Compare
|
Upstream branch: b4e0758 |
1833c55 to
ae442de
Compare
ceec5ed to
3b54e52
Compare
|
Upstream branch: 6596a02 |
ae442de to
3376fa3
Compare
3b54e52 to
6a0b974
Compare
|
Upstream branch: 507bd4b |
3376fa3 to
5bad9a3
Compare
6a0b974 to
59ca59b
Compare
|
Upstream branch: dd6c438 |
5bad9a3 to
54ed52a
Compare
94f0438 to
857ada9
Compare
Add a typed TimeoutReturn enum for blk-mq timeout handlers and extend the Operations trait with an optional timeout callback. The new callback borrows Request instead of taking an ARef because timeout is a synchronous notification from blk-mq and does not transfer request ownership to the driver. Wire the callback into OperationsVTable and keep drivers that do not implement timeout on the existing timeout: None path. Signed-off-by: Wenzhao Liao <[email protected]>
Implement the new Operations::timeout callback for rnull and return TimeoutReturn::ResetTimer. Using ResetTimer keeps the behavior close to the existing blk-mq default timeout handling while proving that the Rust timeout abstraction wires cleanly into a driver. Signed-off-by: Wenzhao Liao <[email protected]>
|
Upstream branch: dd6c438 |
54ed52a to
7d65f40
Compare
Pull request for series with
subject: rust: block: add a borrowed blk-mq timeout callback
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1079859