[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] Re: [RFC PATCH 3/3] blk_end_request: caller change



Hi Jens,

On Thu, 11 Jan 2007 09:34:31 +0100, Jens Axboe <jens axboe oracle com> wrote:
> > +static int cdrom_newpc_intr_dma_callback(void *arg)
> > +{
> > +	void **argv = (void **)arg;
> > +	struct request *rq = (struct request *)*argv++;
> > +	ide_drive_t *drive = (ide_drive_t *)argv++;
> > +	spinlock_t *ide_lock = (spinlock_t *)argv;
> > +
> > +	rq->data_len = 0;
> > +
> > +	cdrom_newpc_intr_callback_common(rq, drive, ide_lock);
> > +
> > +	return 0;
> > +}
> 
> And this is why, down right horrible. The callback should be correctly
> typed, pass down a request pointer ALWAYS.

OK.  I think everything such callbacks need can be obtained through
struct request.  (e.g. ide_drive_t can get by rq->q->queuedata and
ide_lock can get by rq->q->queue_lock.)
So I'll change the callback to pass a pointer to the request
instead of void *.

Thanks,
Kiyoshi Ueda


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]