lkml.org 
[lkml]   [2022]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 01/20] block, blk_filter: enable block device filters
    On Thu, Jul 07, 2022 at 10:26:55AM +0200, Sergei Shtepa wrote:
    > Thank you, Christoph, for your attention to the patch.
    >
    > I am preparing the next version of the patch. In it, I planned to
    > simplify the bdev_filer code.
    > I will make changes in it, in accordance with your comments, and
    > will add your code and check it on my test labs.
    >
    > But I'm not sure if using the blk_mq_freeze_queue() is appropriate.
    > If I understood the code correctly, it is based on the expectation
    > that the counter q->q_usage_counter will decrease to zero.
    > To increase it, a blk_queue_enter() is used. And at the time of
    > calling the filter_bio() in the submit_bio_noacct(), this counter
    > has not yet been increased. I will double check this and try to
    > get rid of the bdev->bd_filter_lock.

    Indeed. For this to work we'd need to call the filter driver
    later. Which is brings up another question: Is there a real
    need to attach the filter driver to the bdev and thus potentially
    partition? The rest of the block layer operates on the whole disk
    after the intial partition remapping, and besides allowing the
    filter driver to be called under q_usage_counter, this would
    also clean up some concepts. It would probably also allow to
    remove the repeat return value over just using submit_bio_noacct
    similar to how normal stacking drivers reinject bios.

    \
     
     \ /
      Last update: 2022-07-07 19:27    [W:2.671 / U:0.332 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site