cvs commit: src/sys/cam/scsi scsi_sg.c scsi_sg.h src/sys/modules/cam Makefile src/sys/conf NOTES files src/sys/compat/linux linux_ioctl.c linux_ioctl.h

mjacob at freebsd.org mjacob at freebsd.org
Mon Apr 9 19:01:48 UTC 2007


I didn't have the time- Doug is kinda pissed at me because of that.

On Mon, 9 Apr 2007, Scott Long wrote:

> I guess this work never got into ports?  I'd like to see if there, even if 
> it's augmented with other non-CAM versions.
>
> Scott
>
>
> Kenneth D. Merry wrote:
>> That's a pretty neat trick!  Thanks Scott!
>> 
>> For what it's worth, Doug Gilbert already ported sg3_utils and sdparm to
>> CAM a while back.  I see a message from him to -scsi in March, 2006,
>> announcing it.
>> 
>> Ken
>> 
>> On Sat, Apr 07, 2007 at 18:02:12 -0600, Scott Long wrote:
>>> To tell you the truth, the SG device has one of the worst programming 
>>> interfaces that I've ever seen.  Even the various official docs on it
>>> complain about how bad it is.  I've written apps for CAM, including a
>>> swiss-army-knife java-based management app, and CAM is vastly superior.
>>> I tried porting the app to linux and gave up due to how limited and
>>> unpleasant it was.  From the kernel side, it's even scarier.
>>> 
>>> But beyond that, the work I committed here was about opening up FreeBSD
>>> to more storage management opportunities.  So I'm happy with whatever
>>> anyone wants to do with it that furthers that goal.  I'd like to see
>>> the native interface be used as a bridge to help introduce programmers
>>> to FreeBSD and CAM; if the sg3_utils package is a step in that
>>> direction or if it provides tools that camcontrol doesn't, then go for
>>> it.
>>> 
>>> Scott
>>> 
>>> 
>>> mjacob at freebsd.org wrote:
>>>> Cool- does this mean we should commit sg3_utils to ports then?
>>>> 
>>>> On Sat, 7 Apr 2007, Scott Long wrote:
>>>> 
>>>>> scottl      2007-04-07 19:40:58 UTC
>>>>> 
>>>>> FreeBSD src repository
>>>>> 
>>>>> Modified files:
>>>>>   sys/modules/cam      Makefile
>>>>>   sys/conf             files NOTES
>>>>>   sys/compat/linux     linux_ioctl.c linux_ioctl.h
>>>>> Added files:
>>>>>   sys/cam/scsi         scsi_sg.c scsi_sg.h
>>>>> Log:
>>>>> Add the CAM 'SG' peripheral device.  This device implements a subset of 
>>>>> the
>>>>> Linux SCSI SG passthrough device API.  The intention is to allow for 
>>>>> both
>>>>> running of Linux apps that want to talk to /dev/sg* nodes, and to 
>>>>> facilitate
>>>>> porting of apps from Linux to FreeBSD.  As such, both native and 
>>>>> linuxolator
>>>>> entry points and definitions are provided.
>>>>> 
>>>>> Caveats:
>>>>>  - This does not support the procfs and sysfs nodes that the Linux SG
>>>>>    driver provides.  Some Linux apps may rely on these for operation,
>>>>>    others may only use them for informational purposes.
>>>>>  - More ioctls need to be implemented.
>>>>>  - Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD 
>>>>> uses a
>>>>>    scheme of "sg[0-9]".  Devfs aliasis (symlinks) are automatically 
>>>>> created
>>>>>    to link the two together.  However, tools like camcontrol only see 
>>>>> the
>>>>>    native names.
>>>>>  - Some operations were originally designed to return byte counts or 
>>>>> other
>>>>>    data directly as the syscall return value.  The linuxolator doesn't 
>>>>> appear
>>>>>    to support this well, so this driver just punts for these cases.
>>>>> 
>>>>> Now that the driver is in place, others are welcome to add missing
>>>>> functionality.  Thanks to Roman Divacky for pushing this work along.
>>>>> 
>>>>> Revision  Changes    Path
>>>>> 1.1       +987 -0    src/sys/cam/scsi/scsi_sg.c (new)
>>>>> 1.1       +139 -0    src/sys/cam/scsi/scsi_sg.h (new)
>>>>> 1.138     +27 -0     src/sys/compat/linux/linux_ioctl.c
>>>>> 1.25      +34 -0     src/sys/compat/linux/linux_ioctl.h
>>>>> 1.1419    +5 -0      src/sys/conf/NOTES
>>>>> 1.1191    +1 -0      src/sys/conf/files
>>>>> 1.15      +1 -0      src/sys/modules/cam/Makefile
>>>>> 
>> 
>
>


More information about the cvs-src mailing list