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
