Re: [PATCH] ibmvscsis: Move to struct ibmvscsis_vdev usage in fabric configfs handlers

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

 



On Tue, 02 Nov 2010 08:47:24 -0500
Brian King <brking@xxxxxxxxxxxxxxxxxx> wrote:

> On 11/01/2010 05:15 PM, FUJITA Tomonori wrote:
> > On Mon, 01 Nov 2010 14:37:42 -0700
> > "Nicholas A. Bellinger" <nab@xxxxxxxxxxxxxxx> wrote:
> > 
> >> On Tue, 2010-11-02 at 06:05 +0900, FUJITA Tomonori wrote:
> >>> On Sat, 30 Oct 2010 16:13:54 -0700
> >>> "Nicholas A. Bellinger" <nab@xxxxxxxxxxxxxxx> wrote:
> >>>
> >>>> From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>
> >>>>
> >>>> This patch takes tomo-san original commit 94fdb0196151 and changes a handful
> >>>> of important items wrt to the fabric configfs logic.
> >>>>
> >>>> Firstly, this patch introduces struct ibmvscsis_vdev and converts the
> >>>> VIO ibmvscsis_probe() and ibmvscsi_remove() callers to allocate/free
> >>>> struct ibmvscsis_vdev instead of the original usage of struct ibmvscsis_tpg
> >>>> which is intended to be allocated/freed respectively in ibmvscsis_make_tpg()
> >>>> and ibmvscsis_drop_tpg() fabric configfs handlers.
> >>>
> >>> What happens if an initiator sends a crq command before an user
> >>> creates a tpg? Or what happens if an initiator sends a crq command
> >>> after removing a tpg?
> >>>
> >>
> >> Hmmm, good point.  So this would require ibmvscsis_queuecommand() to
> >> check internal some ibmvscsi_tpg state to determine availability, and
> >> reject incoming I/O otherwise.  The other operation would be to just
> >> move crq queue creation/release for individual ibmvscsi_vdev into
> >> ibmvscsis_make_tpg() and ibmvscsis_drop_tpg().
> > 
> > You don't need to create/release rcq. I think that enable/disable vio
> > interrupts is enough.
> 
> Maybe I'm not following the conversation here, but if you just disable vio
> interrupts, then any commands sent by a client LPAR would be seen to hang
> from the client's perspective. If ibmvscsis doesn't have the CRQ registered,
> then firmware will fail client commands with a response indicating the server
> is not ready.

Yeah, I told him it makes a client stall. We should register CRQ and
enable vio interrupts in vio_driver->probe.

ibmvscsis driver needs to set up nexuses in vio_driver->probe. The
problem is that it's not fit for TCM model. My initial version does
that in a hacky way though.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux