Mark Carlson wrote:
> Template Version: @(#)sac_nextcase %I% %G% SMI
> This information is Copyright 2008 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
>        Sg3 utilities 1.25
>     1.2. Name of Document Author/Supplier:
>        Author:  Xiao Li
>     1.3  Date of This Document:
>       04 November, 2008
> 
> 2. Project Summary
>    2.1. Project Description
> 
>         This project introduces the package of Sg3 utilites 1.25 into the 
>       SFW consolidation.
>     
> 4. Technical Description
> 
>       The sg3_utils package contains utilities that send SCSI commands to
>       devices. As well as devices on transports traditionally associated
>       with SCSI (e.g. Fibre Channel (FCP), Serial Attached SCSI (SAS) and
>       the SCSI Parallel Interface(SPI)) and many other devices use SCSI
>       command sets. ATAPI cd/dvd drives and SATA disks that connect via a
>       translation layer or a bridge device are examples of devices that
>       use SCSI command sets.

Are these utilities going to make use of the existing features
in OpenSolaris which make writing such utilities *really easy*?

ie, using libscsi and libses, as well as <sys/scsi/impl/spc3_types.h> ?

Or will they be an as-close-as-possible port from other parts
of the OpenSource ecosystem?

James



>       There are about 32 command line utilities inside this package.
>       Command name    Notes
>       ============    ===================================================
>       sg_get_config   fetch features and profiles of a cd/dvd drive and/or
>                       its current media
>       sg_ident        default is to report (fetch) the device identifier.
>                       With the '--set' option a new identifier is sent to
>                       the device.
>       sg_inq          fetch standard response, VPD pages or version
>                       descriptors. Also can perform IDENTIFY (PACKET)
>                       DEVICE ATA command. VPD page decoding also performed
>                       by sg_vpd and sdparm.
>       sg_logs         fetch log sense pages, decode standard and some vendor
>                       pages
>       sg_luns         fetch luns reported by a device (lun 0 or "well known
>                       lu")
>       sg_modes        fetch mode pages (output mainly in hex, to decode
>                       output use sdparm)
>       sg_opcodes      fetch supported SCSI commands or supported task
>                       management functions
>       sg_persist      control persistent reservations and report reservation
>                       status
>       sg_prevent      control media removal, mainly for those SCSI devices
>                       which have removable media (e.g. CD/DVD and tape drives)
>       sg_raw          send user supplied cdb
>       sg_rdac         display or modify RDAC redundant controller mode page
>       sg_read_buffer  read descriptors or data
>       sg_read_long    read data from given lba which includes the block and
>                       ECC data.
>       sg_readcap      fetch the number of blocks and the individual block
>                       size for disks and CD/DVD media
>       sg_reassign     reassign a lba from one sector on a disk (typically
>                       damaged) to a new (spare) sector. User data copied if
>                       it is recoverable.
>       sg_requests     fetch sense data from the given device. Modern uses
>                       include getting a progress indication (e.g. during a
>                       format) or finding the power condition state.
>       sg_rmsn         Relatively new command added to SPC-3. Format of
>                       response is vendor specific so this utility outputs
>                       it in hex (default) or binary.
>       sg_rtpg         Specialized for multi-ported SCSI devices where one
>                       port (or a group of them) is preferred for IO over
>                       another (or others).
>       sg_safte        fetch information from a SAF-TE processor.
>       sg_sat_identify Send ATA IDENTIFY DEVICE or IDENTIFY PACKET DEVICE
>                       commands via the SAT ATA PASS-THROUGH (16 or 12) SCSI
>                       command.
>       sg_sat_set_features     Sends ATA SET FEATURES command via SAT.
>       sg_senddiag     Issues either a default self test or a short/extended
>                       foreground/background self test. With no arguments it
>                       uses RECEIVE DIAGNOSTIC RESULTS to list all supported
>                       diagnostic pages.
>       sg_ses          Fetches status diagnostic pages from, and sends some
>                       control pages to, a SCSI Enclosure Services (SES)
>                       device.
>       sg_start        Controls the power condition state of a SCSI device.
>                       Primary use is to spin up and down SCSI disks. Can
>                       also load and eject removable media.
>       sg_stpg         Specialized for multi-ported SCSI devices where one
>                       port (or a group of them) is preferred for IO over
>                       another (or others).
>       sg_sync         Causes disk caches to be flushed to media.
>       sg_turs         Issue one or more Test Unit Ready commands. Can be
>                       used to time SCSI command overhead.
>       sg_verify       reads indicated blocks on a SCSI disks, stops on the
>                       first error found. Does not yield any data. Useful
>                       for media scans.
>       sg_vpd          Decodes standard and some vendor Vital Product Data
>                       (VPD) pages.
>       sg_wr_mode      writes mode pages supplied in ASCII hex (e.g. from
>                       "sg_modes -r") to the  SCSI device. See sdparm for
>                       another method of setting mode page parameters.
>       sg_write_buffer write data; can be used to download firmware.
>       sg_write_long   writes to a lba, data which includes the block and
>                       ECC data. Suitable data typically fetched by prior
>                       sg_read_long utility.
> 5. Interfaces
> 
>     Exported interface                        Classification  Interface type
>     ===============================   ==============  ==============
>     SUNWsg3utils                      Uncommitted     Package name
>     /usr/bin/sg_get_config            Uncommitted     Command
>     /usr/bin/sg_ident                 Uncommitted     Command
>     /usr/bin/sg_inq                   Uncommitted     Command
>     /usr/bin/sg_logs                  Uncommitted     Command
>     /usr/bin/sg_luns                  Uncommitted     Command
>     /usr/bin/sg_modes                 Uncommitted     Command
>     /usr/bin/sg_opcodes                       Uncommitted     Command
>     /usr/bin/sg_persist                       Uncommitted     Command
>     /usr/bin/sg_prevent                       Uncommitted     Command
>     /usr/bin/sg_raw                   Uncommitted     Command
>     /usr/bin/sg_rdac                  Uncommitted     Command
>     /usr/bin/sg_read_buffer           Uncommitted     Command
>     /usr/bin/sg_read_long             Uncommitted     Command
>     /usr/bin/sg_readcap                       Uncommitted     Command
>     /usr/bin/sg_reassign              Uncommitted     Command
>     /usr/bin/sg_requests              Uncommitted     Command
>     /usr/bin/sg_rmsn                  Uncommitted     Command
>     /usr/bin/sg_rtpg                  Uncommitted     Command
>     /usr/bin/sg_safte                 Uncommitted     Command
>     /usr/bin/sg_sat_identify          Uncommitted     Command
>     /usr/bin/sg_sat_set_features      Uncommitted     Command
>     /usr/bin/sg_senddiag              Uncommitted     Command
>     /usr/bin/sg_ses                   Uncommitted     Command
>     /usr/bin/sg_start                 Uncommitted     Command
>     /usr/bin/sg_stpg                  Uncommitted     Command
>     /usr/bin/sg_sync                  Uncommitted     Command
>     /usr/bin/sg_turs                  Uncommitted     Command
>     /usr/bin/sg_verify                        Uncommitted     Command
>     /usr/bin/sg_vpd                   Uncommitted     Command
>     /usr/bin/sg_wr_mode                       Uncommitted     Command
>     /usr/bin/sg_write_buffer          Uncommitted     Command
>     /usr/bin/sg_write_long            Uncommitted     Command
>     /usr/lib/libsgutils.so            Private         Symbolic link
>     /usr/lib/libsgutils.so.1          Private         Symbolic link
>     /usr/lib/libsgutils.so.1.0.0      Private         Shared library
>     /usr/lib/libsgutils.a             Private         Static library
>     /usr/lib/libsgutils.la            Private         Libtool library
>     file
>     /usr/include/scsi/sg_lib.h                Uncommitted     Header file
>     /usr/include/scsi/sg_cmds_extra.h Uncommitted     Header file
>     /usr/include/scsi/sg_cmds_basic.h Uncommitted     Header file
>     /usr/include/scsi/sg_cmds.h               Uncommitted     Header file
>     /usr/include/scsi/sg_pt.h         Uncommitted     Header file
>     /usr/share/man/man8/sg_read_long.8        Uncommitted     Manpage
>     /usr/share/man/man8/sg_safte.8    Uncommitted     Manpage
>     /usr/share/man/man8/sg_senddiag.8 Uncommitted     Manpage
>     /usr/share/man/man8/sg_wr_mode.8  Uncommitted     Manpage
>     /usr/share/man/man8/sg_stpg.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_persist.8  Uncommitted     Manpage
>     /usr/share/man/man8/sg_ses.8      Uncommitted     Manpage
>     /usr/share/man/man8/sg_opcodes.8  Uncommitted     Manpage
>     /usr/share/man/man8/sg_get_config.8       Uncommitted     Manpage
>     /usr/share/man/man8/sg_read_buffer.8      Uncommitted     Manpage
>     /usr/share/man/man8/sg_luns.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_requests.8 Uncommitted     Manpage
>     /usr/share/man/man8/sg_prevent.8  Uncommitted     Manpage
>     /usr/share/man/man8/sg_rdac.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_rtpg.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_sat_identify.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_start.8    Uncommitted     Manpage
>     /usr/share/man/man8/sg_verify.8   Uncommitted     Manpage
>     /usr/share/man/man8/sg_modes.8    Uncommitted     Manpage
>     /usr/share/man/man8/sg_readcap.8  Uncommitted     Manpage
>     /usr/share/man/man8/sg_sat_set_features.8 Uncommitted     Manpage
>     /usr/share/man/man8/sg_rmsn.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg3_utils.8   Uncommitted     Manpage
>     /usr/share/man/man8/sg_ident.8    Uncommitted     Manpage
>     /usr/share/man/man8/sg_vpd.8      Uncommitted     Manpage
>     /usr/share/man/man8/sg_inq.8      Uncommitted     Manpage
>     /usr/share/man/man8/sg_raw.8      Uncommitted     Manpage
>     /usr/share/man/man8/sg_turs.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_sync.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_logs.8     Uncommitted     Manpage
>     /usr/share/man/man8/sg_format.8   Uncommitted     Manpage
>     /usr/share/man/man8/sg_reassign.8 Uncommitted     Manpage
>     /usr/share/man/man8/sg_write_long.8       Uncommitted     Manpage
>     /usr/share/man/man8/sg_write_buffer.8     Uncommitted     Manpage
>  
>   The following additional installed files are not interface.
> 
>          Additional document
>          -------------------
>        N/A
>        
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>       6.4.1. Consolidation C-team Name:
>               SFW
>     6.5. ARC review type: Automatic
>     6.6. ARC Exposure: open
> 
> _______________________________________________
> opensolaris-arc mailing list
> opensolaris-arc at opensolaris.org


-- 
James C. McPherson
--
Senior Kernel Software Engineer, Solaris
Sun Microsystems
http://blogs.sun.com/jmcp       http://www.jmcp.homeunix.com/blog

Reply via email to