On 4/7/19 1:56 AM, Christoph Hellwig wrote: > 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. That's a good point. I've pulled the fix for now, Alex would be great if you could re-do with that in mind. -- Jens Axboe