Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 09 Mar 2006 14:39:35 -0700
From:      Scott Long <scottl@samsco.org>
To:        Eric Anderson <anderson@centtech.com>
Cc:        freebsd-scsi@freebsd.org, Nate Lawson <nate@root.org>
Subject:   Re: scsi-target and the buffer cache
Message-ID:  <4410A097.9030709@samsco.org>
In-Reply-To: <44109AEA.5030209@centtech.com>
References:  <4395BF04.50101@centtech.com>	<43960F55.3010508@root.org>	<43975926.1010302@centtech.com>	<43975F5F.5080901@samsco.org> <439782AA.6000408@root.org>	<4397B731.6010308@centtech.com> <4397B82C.5020004@samsco.org>	<4397EBC7.9030105@root.org> <440F5141.7010002@centtech.com>	<44105A01.5080309@root.org> <44109AEA.5030209@centtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Eric Anderson wrote:
> Nate Lawson wrote:
> 
>> [mailing list changed to scsi@]
>>
>> Eric Anderson wrote:
>>
>>> Nate Lawson wrote:
>>>
>>>> Scott Long wrote:
>>>>
>>>>> Eric Anderson wrote:
>>>>>
>>>>>> Nate Lawson wrote:
>>>>>>
>>>>>>> Agree 100%.  While having it in usermode means there are boundary 
>>>>>>> crossings that increase per-transaction latency, the actual bulk 
>>>>>>> data transfer is via zero-copy IO and you should be able to 
>>>>>>> exceed the data transfer rates of several 10K RPM drives on 
>>>>>>> decent hardware.
>>>>>>
>>>>>>
>>>>>> Ok, great.. Now, will scsi_target work ok with raw devices, or 
>>>>>> only files?  (although I'm not sure theres all that much 
>>>>>> difference really).
>>>>>>
>>>>>
>>>>> You can write your userland code to use whatever files or devices you
>>>>> want.  Are you talking about the scs_target.c code in
>>>>> /usr/share/examples?  That's just a skeletal example that you can use
>>>>> as a starting point for your own work.
>>>>
>>>>
>>>> No, it's not just a skeletal example.  You can point it at a raw 
>>>> device as the backing store file and it will work as a block device 
>>>> (i.e. RBC command set).  It has been tested as working at least 
>>>> moderately fast over SCSI, FC, and firewire.
>>>>
>>>
>>> I'm finally getting around to playing with this, and I'm having some 
>>> problems.  First, I can't seem to make one isp card in target mode 
>>> and the other an initiator.  I've messed with adding the following to 
>>> loader.conf:
>>>
>>> hint.isp.0.role="initiator"
>>> hint.isp.1.role="target"
>>>
>>> that still doesn't show my currently connected fiber channel devices 
>>> on the initiator side.
>>>
>>> I've tried a few different kernel options, currently I have:
>>>
>>> options         ISP_TARGET_MODE=1
>>> device          targ
>>>
>>> I've also tried just:
>>>
>>> options         ISP_TARGET_MODE
>>>
>>> and that doesn't seem to allow me to select one either.
>>
>>
>> hints aren't needed.  Here's an intro on how to use it:
>> http://root.org/~nate/freebsd/scsi/README.targ
>>
>> The same card is in target or initiator mode based on the scsi_target 
>> user program.  When it's running, target mode is enabled.
> 
> 
> Hmm.  Then shouldn't a
> 
> camcontrol rescan all
> camcontrol devlist -v
> 
> show me all the devices on the FC network?  If I remove the target mode 
> stuff out, and do that, I see all my devices.  With it in, I see no 
> devices.
> When I run the scsi_target tool (scsi_target -d 0:3:0 /mnt/testfile), it 
> shows a bunch of "sending ccb (0x332)" and (0x334) messages alternating 
> for a couple hundred lines, then "main loop beginning" and a few other 
> messages.  If you want the full details, I'd be glad to sent them.
> 
> Once scsi_target is running, my other FC initiator (FreeBSD 6.1- also) 
> can see it.
> 
> 
>>
>>> Anyhow, I've compiled scsi_target (from 
>>> /usr/share/examples/scsi_target), and tried to run it using a 20gb 
>>> file as the target, and still I can't seem to get it working.
>>> Is there a doc somewhere I need to read?
>>>
>>> Also - as a side note, the Makefile for scsi_target seems like it's 
>>> missing a path variable in order to do a make install, but that's not 
>>> a real issue.
>>
>>
>> There was some debate when I imported it whether to make it an example 
>> or usr.sbin.  Given the lack of updates (i.e. ki_sig or whatever), I 
>> probably should have put it somewhere else.
> 
> 
> Is it a totally non-supported kind of tool?  Is there another option for 
> scsi target mode?
> 
> 
> Thanks!
> Eric
> 
> 

Can isp operate as both a target and initiator at the same time?  I 
thought that that was a pretty rare feature.  If not, then when it's in
target mode it won't be able to see any other targets on the bus.

Scott




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4410A097.9030709>