Re: [PATCH 0/2] swim3: use blk_end_request_all()

From: FUJITA Tomonori
Date: Tue May 12 2009 - 11:54:41 EST


On Wed, 13 May 2009 00:36:41 +0900
Tejun Heo <tj@xxxxxxxxxx> wrote:

> FUJITA Tomonori wrote:
> > On Wed, 13 May 2009 00:25:51 +0900
> > Tejun Heo <tj@xxxxxxxxxx> wrote:
> >
> >> Hello,
> >>
> >> FUJITA Tomonori wrote:
> >>> This is against for-2.6.31 branch in the block tree.
> >>>
> >>> Tejun, don't we need to use blk_end_request_all() when we hit the
> >>> maximum retry count in swim3_interrupt? Looks like we can't handle a
> >>> request properly if we doesn't complete the request there.
> >> Ummm.... why so? Can you elaborate the bug scenario a bit? I was
> >> trying to keep the original behavior whereever possible.
> >
> > If when a request hits the maximum retry count and
> > swim3_end_request_cur() doesn't complete the request there, where the
> > request will be freed?
>
> It won't be freed. The current segment will be failed and the next
> segment of the request will be tried on the next iteration, which was
> the original behavior. ie. it always fails requests
> segment-by-segment and hitting max retry count doesn't fail the whole
> request.

Ah, I see. Thanks, then the current code is fine.

Well, it might be better to update some of the description of
blk_update_request, e.g., "the special helper function is only for
request stacking drivers".
--
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/