Re: FAILED: patch "[PATCH] block: get the 1st and last bvec via helpers" failed to apply to 4.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Mar 6, 2016 at 3:22 AM,  <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> The patch below does not apply to the 4.4-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@xxxxxxxxxxxxxxx>.

The simplest way is to apply commit 0e8bd6fdfb2b96eb(block: check virt
boundary in bio_will_gap()) before this patch.

Thanks,
Ming

>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> From 25e71a99f10e444cd00bb2ebccb11e1c9fb672b1 Mon Sep 17 00:00:00 2001
> From: Ming Lei <ming.lei@xxxxxxxxxxxxx>
> Date: Fri, 26 Feb 2016 23:40:52 +0800
> Subject: [PATCH] block: get the 1st and last bvec via helpers
>
> This patch applies the two introduced helpers to
> figure out the 1st and last bvec, and fixes the
> original way after bio splitting.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx>
> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>
> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx>
> Signed-off-by: Jens Axboe <axboe@xxxxxx>
>
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index cd06a41581b3..d7f6bca707ef 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -1394,11 +1394,16 @@ static inline bool bvec_gap_to_prev(struct request_queue *q,
>  static inline bool bio_will_gap(struct request_queue *q, struct bio *prev,
>                          struct bio *next)
>  {
> -       if (!bio_has_data(prev) || !queue_virt_boundary(q))
> -               return false;
> +       if (bio_has_data(prev) && queue_virt_boundary(q)) {
> +               struct bio_vec pb, nb;
> +
> +               bio_get_last_bvec(prev, &pb);
> +               bio_get_first_bvec(next, &nb);
>
> -       return __bvec_gap_to_prev(q, &prev->bi_io_vec[prev->bi_vcnt - 1],
> -                                 next->bi_io_vec[0].bv_offset);
> +               return __bvec_gap_to_prev(q, &pb, nb.bv_offset);
> +       }
> +
> +       return false;
>  }
>
>  static inline bool req_gap_back_merge(struct request *req, struct bio *bio)
>
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]