[Stgt-devel] iscsi target works, minor fixes
FUJITA Tomonori
fujita.tomonori
Sun Nov 5 16:45:55 CET 2006
From: Pete Wyckoff <pw at osc.edu>
Subject: Re: [Stgt-devel] iscsi target works, minor fixes
Date: Sat, 4 Nov 2006 16:43:19 -0500
> fujita.tomonori at lab.ntt.co.jp wrote on Sat, 04 Nov 2006 01:04 +0900:
> > From: Pete Wyckoff <pw at osc.edu>
> > Subject: [Stgt-devel] iscsi target works, minor fixes
> > Date: Thu, 2 Nov 2006 19:45:48 -0500
> >
> > > --- trunk/usr/bd_aio.c (revision 609)
> > > +++ trunk/usr/bd_aio.c (working copy)
> > > @@ -74,8 +74,8 @@ static void aio_event_handler(int fd, in
> > >
> > > for (i = 0; i < nr; i++) {
> > > iocb = bai->events[i].obj;
> > > - dprintf("%p\n", iocb->data);
> > > - target_cmd_io_done(iocb->data, 0);
> > > + dprintf("%p\n", bai->events[i].data);
> > > + target_cmd_io_done(bai->events[i].data, 0);
> > > }
> > > }
> >
> > Is iocb->data bogus? It means that io_event->obj does not refer to
> > the appropriate iocb. I have no idea why.
>
> Here's some logging from the latest stgt, with the extra %p in the debug
> message:
>
> tgtd: iscsi_scsi_cmd_rx_start(1189) 1 28 4096 1 c
> tgtd: iscsi_scsi_cmd_rx_start(1198) 0x538010
> tgtd: iscsi_task_queue(1122) c c 1
> tgtd: target_cmd_queue(287) 28 0
> tgtd: scsi_cmd_perform(477) 28 4096
> tgtd: bd_aio_cmd_submit(159) 8 0 4096 538010 0 0x7fffe26e8510 0x534940
> tgtd: target_cmd_queue(307) c 28 538010 0 4096 0 1
> tgtd: aio_event_handler(83) 0x7fffe26e8510 0x7fffe26e8520
>
> It's pretty clear to me that bai->events[i].data is what you should
> be using. See the kernel's io_submit_one, where req->ki_user_data
> is set, then how it is returned to the user via event->data in
> aio_complete. True, bai->events[i].obj gets set to the address of
> the iocb passed in, but as you used an iocb on the stack in
> bd_aio_cmd_submit, that cannot be trusted.
Oh, terribly sorry. I planed to use the iocb in bd_aio_info structure
then wrote the current makeshift code because of my laziness.
I applied your patch for now. Thanks.
More information about the stgt
mailing list