lkml.org 
[lkml]   [2008]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] block: fix residual byte count handling
    From
    Date
    On Mon, 03 Mar 2008 13:09:13 +0900
    Tejun Heo <htejun@gmail.com> wrote:

    > FUJITA Tomonori wrote:
    > >> - I think bugs caused by using raw_data_len instead of data_len are more
    > >> subtle than the other way around. Using data_len instead of
    > >> raw_data_len usually affects the application layer while using
    > >> raw_data_len instead of data_len affects the DMA engine and transport layer.
    > >
    > > If we add extra_len, we can get what raw_data_len and data_len
    > > provide.
    > >
    > > I can't see what changing the meaning of rq->data_len (and
    > > investigating all the block drivers) gives us.
    >
    > No matter which way you go, you change the meaning of rq->data_len and
    > you MUST inspect rq->data_len usage whichever way you go.

    The patch doens't change that rq->data_len means the true data
    length. But yeah, it breaks rq->data_len == sum(sg). So it might break
    some drivers.


    > Apply your patch and try to do sg IO on IDE cdrom w/ various
    > transfer lengths.

    I've just tried the patch with both ata and libata and it seems to
    work.

    For anyone hitting this problem, please try the following patch:

    http://lkml.org/lkml/2008/3/2/218


    Thanks,


    \
     
     \ /
      Last update: 2008-03-03 09:31    [W:0.044 / U:61.412 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site