On Sat, Apr 06, 2019 at 12:58:54PM -0600, Jens Axboe wrote: > On 4/6/19 7:03 AM, Alex Lyakas wrote: > > Commit dac56212e8127dbc0bff7be35c508bc280213309 titled > > "bio: skip atomic inc/dec of ->bi_cnt for most use cases" > > made __bi_cnt dependent on the new BIO_REFFED flag. > > > > bio_reset() does not reset __bi_cnt, but it does reset the BIO_REFFED flag. > > But __bi_cnt depends now on the BIO_REFFED flag, so bio_reset() > > needs to preserve this flag. > > Looks good to me, applied, thanks. Uh-oh. While this fix isn't wrong per se I think it is confusing and set a dnagerous precedence. We have BIO_RESET_BITS to indicate which flags survive. So any flag that is supposed to survive the reset should be be added to that instead of specifically worked around.