block-5.16-2021-11-27

-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmGiPq4QHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpoyLD/96XwppHepSKHPRAo5A37XobgUWlWZ8c5MM
 goKaZOKFCht9EVHaao5OmB+XoPQR8vbJPxuVbVg66FQ4C3Yq3/LlG7rGgXcPuvSB
 gX82KHyoy2aqmeEIjbMiVpGMBfkQChuxCHvUVyApZY6iUYCCxN1cfY24WMGUxFG5
 t5gSo0qR4YlI4RM66J/79dfmAz6hCkTqNmuZvyUUwwDeQMt6/djTKAO5X2x9epBu
 JUgOcgEbvEsh/gtrFMx1MYIT1mYZ+f5BMSAudSp9q6E+kNgOPdGJPC5h3RIXsAii
 JlwPqYsy0Cgnzq9lwkwh/lNHdDcqqRzwFo3B3AySYMfY5dfhZWjt1tQgBPKaGVPH
 fw7memTI/Z1Ht5o6bC7Lo+PsTnW33T9gXgLRwD5oApN39vBQkyhB9Nap8fBY4ZR4
 dwQcz5DFoTw58PEAKnm4q36V8T2W2wJC9wv/GMyqkcMmpUKbd38ZVPiLLO5AP6e4
 HNox3FWfhvZrhzD3OHB0ujYOvo/WrIBT9RChSf9VAux+E7dcQxZdq/FQktIEb5Lp
 kPArj9etxS9AoHoU2XMEknFkoQBlR73zeaf+3gB8nBpkwIg+H69LDgsq1sfd5wN5
 VyMIU84no9H1uazZnUbrTuroPy9ItQ21Ee5Y+2rO5E1q2L4LkU5lXay+JP8t9JIo
 JRcfNiH5YQ==
 =xrY+
 -----END PGP SIGNATURE-----

Merge tag 'block-5.16-2021-11-27' of git://git.kernel.dk/linux-block

Pull more block fixes from Jens Axboe:
 "Turns out that the flushing out of pending fixes before the
  Thanksgiving break didn't quite work out in terms of timing, so here's
  a followup set of fixes:

   - rq_qos_done() should be called regardless of whether or not we're
     the final put of the request, it's not related to the freeing of
     the state. This fixes an IO stall with wbt that a few users have
     reported, a regression in this release.

   - Only define zram_wb_devops if it's used, fixing a compilation
     warning for some compilers"

* tag 'block-5.16-2021-11-27' of git://git.kernel.dk/linux-block:
  zram: only make zram_wb_devops for CONFIG_ZRAM_WRITEBACK
  block: call rq_qos_done() before ref check in batch completions
This commit is contained in:
Linus Torvalds 2021-11-27 11:19:42 -08:00
commit 650c8edf53
2 changed files with 4 additions and 1 deletions

View file

@ -860,13 +860,14 @@ void blk_mq_end_request_batch(struct io_comp_batch *iob)
if (iob->need_ts)
__blk_mq_end_request_acct(rq, now);
rq_qos_done(rq->q, rq);
WRITE_ONCE(rq->state, MQ_RQ_IDLE);
if (!refcount_dec_and_test(&rq->ref))
continue;
blk_crypto_free_request(rq);
blk_pm_mark_last_busy(rq);
rq_qos_done(rq->q, rq);
if (nr_tags == TAG_COMP_BATCH || cur_hctx != rq->mq_hctx) {
if (cur_hctx)

View file

@ -1853,12 +1853,14 @@ static const struct block_device_operations zram_devops = {
.owner = THIS_MODULE
};
#ifdef CONFIG_ZRAM_WRITEBACK
static const struct block_device_operations zram_wb_devops = {
.open = zram_open,
.submit_bio = zram_submit_bio,
.swap_slot_free_notify = zram_slot_free_notify,
.owner = THIS_MODULE
};
#endif
static DEVICE_ATTR_WO(compact);
static DEVICE_ATTR_RW(disksize);