[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [PATCH v10 7/8] block: Consolidate bio_alloc_bioset(), bio_kmalloc()
- From: Tejun Heo <tj kernel org>
- To: Kent Overstreet <koverstreet google com>
- Cc: Jens Axboe <axboe kernel dk>, linux-bcache vger kernel org, linux-kernel vger kernel org, dm-devel redhat com
- Subject: Re: [dm-devel] [PATCH v10 7/8] block: Consolidate bio_alloc_bioset(), bio_kmalloc()
- Date: Thu, 6 Sep 2012 16:45:10 -0700
On Thu, Sep 06, 2012 at 03:35:01PM -0700, Kent Overstreet wrote:
> Previously, bio_kmalloc() and bio_alloc_bioset() behaved slightly
> different because there was some almost-duplicated code - this fixes
> some of that.
>
> The important change is that previously bio_kmalloc() always set
> bi_io_vec = bi_inline_vecs, even if nr_iovecs == 0 - unlike
> bio_alloc_bioset(). This would cause bio_has_data() to return true; I
> don't know if this resulted in any actual bugs but it was certainly
> wrong.
>
> bio_kmalloc() and bio_alloc_bioset() also have different arbitrary
> limits on nr_iovecs - 1024 (UIO_MAXIOV) for bio_kmalloc(), 256
> (BIO_MAX_PAGES) for bio_alloc_bioset(). This patch doesn't fix that, but
> at least they're enforced closer together and hopefully they will be
> fixed in a later patch.
>
> This'll also help with some future cleanups - there are a fair number of
> functions that allocate bios (e.g. bio_clone()), and now they don't have
> to be duplicated for bio_alloc(), bio_alloc_bioset(), and bio_kmalloc().
>
> Signed-off-by: Kent Overstreet <koverstreet google com>
> CC: Jens Axboe <axboe kernel dk>
> v7: Re-add dropped comments, improv patch description
Acked-by: Tejun Heo <tj kernel org>
Thanks.
--
tejun
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]