lkml.org 
[lkml]   [2012]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [dm-devel] [PATCH v5 12/12] block: Only clone bio vecs that are in use
    From
    On Wed, Aug 8, 2012 at 8:19 PM, Kent Overstreet <koverstreet@google.com> wrote:
    > In particular, if this change breaks anything then the new bio_split()
    > _will_ break things.
    >
    > We need to be clear about our interfaces; in this case bi_idx and
    > bi_vcnt, in particular. Either this is a safe change, or it's not. If
    > no one knows... that's a bigger problem, and not just for this patch...
    >
    > Fortunately this code actually has been tested quite a bit (and the bio
    > splitting code for even longer), and (somewhat to my surprise) I haven't
    > run into any bugs caused by it.

    Oh, it's worse than that - remember how bio_kmalloc() works for up to
    1024 pages, but bio_alloc_bioset() only up to 256?

    We can already have situations where bios are allocated that are
    impossible to clone (or if we don't, it's only because of
    queue_limits. That's not sketchy at all.)


    \
     
     \ /
      Last update: 2012-08-09 06:01    [W:0.028 / U:182.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site