lkml.org 
[lkml]   [2012]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 38/91] md: using GFP_NOIO to allocate bio for flush request
    3.4-stable review patch.  If anyone has any objections, please let me know.

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

    From: Shaohua Li <shli@kernel.org>

    commit b5e1b8cee7ad58a15d2fa79bcd7946acb592602d upstream.

    A flush request is usually issued in transaction commit code path, so
    using GFP_KERNEL to allocate memory for flush request bio falls into
    the classic deadlock issue.

    This is suitable for any -stable kernel to which it applies as it
    avoids a possible deadlock.

    Signed-off-by: Shaohua Li <shli@fusionio.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/md/md.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/md/md.c
    +++ b/drivers/md/md.c
    @@ -452,7 +452,7 @@ static void submit_flushes(struct work_s
    atomic_inc(&rdev->nr_pending);
    atomic_inc(&rdev->nr_pending);
    rcu_read_unlock();
    - bi = bio_alloc_mddev(GFP_KERNEL, 0, mddev);
    + bi = bio_alloc_mddev(GFP_NOIO, 0, mddev);
    bi->bi_end_io = md_end_flush;
    bi->bi_private = rdev;
    bi->bi_bdev = rdev->bdev;



    \
     
     \ /
      Last update: 2012-05-27 04:01    [W:0.027 / U:31.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site