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
Sat Apr 7 20:12:58 UTC 2007


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