Messages in this thread | | | Date | Thu, 16 Apr 2009 08:19:49 +0200 | From | Jens Axboe <> | Subject | Re: [block #for-next] block: clear req->errors on bio completion only for fs requests |
| |
On Thu, Apr 16 2009, Tejun Heo wrote: > Impact: subtle behavior change > > For fs requests, rq is only carrier of bios and rq error status as a > whole doesn't mean much. This is the reason why rq->errors is being > cleared on each partial completion of a request as on each partial > completion the error status is transferred to the respective bios. > > For pc requests, rq->errors is used to carry error status to the > issuer and thus __end_that_request_first() doesn't clear it on such > cases. > > The condition was fine till now as only fs and pc requests have used > bio and thus the bio completion path. However, future changes will > unify data accesses to bio and all non fs users care about rq error > status. Clear rq->errors on bio completion only for fs requests. > > In general, the implicit clearing is a bit too subtle especially as > the meaning of rq->errors is completely dependent on low level > drivers. Unifying / cleaning up rq->errors usage and letting llds > manage it would be better. TODO comment added. > > Signed-off-by: Tejun Heo <tj@kernel.org> > Cc: Jens Axboe <axboe@kernel.dk> > --- > Jens, can you please ack this patch? With FUJITA's scsi_lib cleanup > and Borislav's patch to make ide not use preallocated data structures, > this is the only block bit which is necessary for ide cleanup > patchets. If you're okay with it, I'd like to push this through > Bartlomiej's tree.
Sure, you can add my acked-by.
-- Jens Axboe
| |