lkml.org 
[lkml]   [2014]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: next bio iters break discard?
    On Mon, Jan 13, 2014 at 11:06:33PM -0500, Martin K. Petersen wrote:
    > >>>>> "Kent" == Kent Overstreet <kmo@daterainc.com> writes:
    >
    > Kent,
    >
    > Kent> I think for discards we can deal with this easily enough -
    > Kent> __blk_recalc_rq_segments() will have to special case them - but
    > Kent> there's a similar (but worse) issue with WRITE_SAME, and looking
    > Kent> at the code it does attempt to merge WRITE_SAME requests too.
    >
    > DISCARD bios have no payload going down the stack. They get a payload
    > attached in the sd driver and will therefore have a single bvec at
    > completion time.
    >
    > WRITE_SAME bios have a single bvec payload throughout their lifetime.
    >
    > For both these types of requests we never attempt to merge the actual
    > payloads. But the block range worked on may shrink or grow as the bio is
    > split or merged going down the stack.
    >
    > IOW, DISCARD, WRITE SAME and the impending COPY requests do not have a
    > 1:1 mapping between the block range worked on and the size of any bvecs
    > attached. Your recent changes must have changed the way we handled that
    > in the past.

    Yeah - but with WRITE_SAME bios, wouldn't we at least have to check that they're
    writing the same data to merge them?


    \
     
     \ /
      Last update: 2014-01-14 06:21    [W:2.189 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site