Re: [PATCH UPDATED block#for-2.6.31 2/3] block: set rq->resid_lento blk_rq_bytes() on issue

From: Tejun Heo
Date: Sun May 17 2009 - 07:33:28 EST


Hello, Boaz.

Boaz Harrosh wrote:
> Surly this is not enough. This is not the only place rq->__data_len
> gets a value. Specifically it can be added to in blk_rq_append_bio.
> You must then update all places that set rq->__data_len to also set
> rq->resid_len.

Right, nice spotting, but I think those are the only two places. You
now see why I don't like that append thing. :-)

> Alternatively you could do a single:
> + rq->resid_len = blk_rq_bytes(rq);
>
> inside blk_fetch_request(q) or before the call to prep_fn, or even at
> __elv_add_request().

I think I'll just add resid_len adjustment there right after
__data_len manipulation. That code path should really go away
eventually.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/