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


[EMAIL PROTECTED] 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




_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to