On Wed, Sep 17, 2008 at 11:06 PM, Sumit Gupta <[EMAIL PROTECTED]> wrote:
> Hi Cyril
>
> This is something I started writing a while ago but never got a chance to
> make progress among all the other activity. But I did write a few simple
> examples of developing LU providers. I hope to continue this work and
> provide more text on this subject. In the meantime you can download the
> examples from:
>
> http://www.opensolaris.org/os/project/comstar/files/lu_dev_0_1.tar.gz

Sumit,

thanks a lot for your help. I have a couple of questions below.

>
> The basic flow is:
>
> 1. Write a pseudo driver.

Hm, I was going to ask why sbd sits under "/", rather than under "/pseudo",
but it seems that it has been changed recently. So no question here.

> 2. Register the lu provider in your _init() routine

Why is it important to register in _init(), rather than say attach() ?
It seems to be related to some design decision, but it isn't clear why exactly.

> 3. Whenever you have a new LU to export to stmf, allocate a stmf_lu_t using
> stmf_alloc , initialize it with various entry points and register it with
> the framework.
> 4. The framework will online the LU (using your registered lu_ctl() entry
> point) and drive the SCSI task flow using the entry points in the stmf_lu_t
>
> The documentation on the various LU entry points in the stmf spec has a lot
> of details on them. Also it points to other stmf functions which are
> relevant in the contaxt of a given LU entry point. The flow diagram at the
> end of stmf spec also provides information on the order in which these entry
> points are called. You can also use sbd source code as an example. The file
> sbd_scsi.c is what is most relevant in this regard.
>

I am chewing through the doc and sure will have more questions soon.
Thanks again !

-- 
Regards,
 Cyril
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to