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>

index | next in thread | previous in thread | raw e-mail

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



home | help

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