lkml.org 
[lkml]   [2018]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 098/159] md/raid1/10: add missed blk plug
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Shaohua Li <shli@fb.com>


    [ Upstream commit 18022a1bd3709b74ca31ef0b28fccd52bcd6c504 ]

    flush_pending_writes isn't always called with block plug, so add it, and plug
    works in nested way.

    Signed-off-by: Shaohua Li <shli@fb.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/md/raid1.c | 4 ++++
    drivers/md/raid10.c | 4 ++++
    2 files changed, 8 insertions(+)

    --- a/drivers/md/raid1.c
    +++ b/drivers/md/raid1.c
    @@ -810,11 +810,15 @@ static void flush_pending_writes(struct
    spin_lock_irq(&conf->device_lock);

    if (conf->pending_bio_list.head) {
    + struct blk_plug plug;
    struct bio *bio;
    +
    bio = bio_list_get(&conf->pending_bio_list);
    conf->pending_count = 0;
    spin_unlock_irq(&conf->device_lock);
    + blk_start_plug(&plug);
    flush_bio_list(conf, bio);
    + blk_finish_plug(&plug);
    } else
    spin_unlock_irq(&conf->device_lock);
    }
    --- a/drivers/md/raid10.c
    +++ b/drivers/md/raid10.c
    @@ -890,10 +890,13 @@ static void flush_pending_writes(struct
    spin_lock_irq(&conf->device_lock);

    if (conf->pending_bio_list.head) {
    + struct blk_plug plug;
    struct bio *bio;
    +
    bio = bio_list_get(&conf->pending_bio_list);
    conf->pending_count = 0;
    spin_unlock_irq(&conf->device_lock);
    + blk_start_plug(&plug);
    /* flush any pending bitmap writes to disk
    * before proceeding w/ I/O */
    bitmap_unplug(conf->mddev->bitmap);
    @@ -914,6 +917,7 @@ static void flush_pending_writes(struct
    generic_make_request(bio);
    bio = next;
    }
    + blk_finish_plug(&plug);
    } else
    spin_unlock_irq(&conf->device_lock);
    }

    \
     
     \ /
      Last update: 2018-02-23 20:22    [W:4.365 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site