Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
International Rescue Committe

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Glossary
MoreInfo
Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
FAQ
Copyright Info
Terms of Use
Privacy Info
Disclaimer
WorkBoard
Thanks
Donations
Advertising
Masthead / Impressum
Your Account

Communication
Feedback
Forums
Private Messages
Surveys

Features
HOWTOs
News Archive
Submit News
Topics
User Articles
Web Links

Google
Google


The Web
linux-tutorial.info

Who's Online
There are currently, 63 guest(s) and 0 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here

  

sgp_dd



SYNOPSIS

       sgp_dd [OPTION]...


DESCRIPTION

       Copy  data  to  and  from  Linux SCSI generic (sg) and raw
       devices.  Similar syntax and semantics to dd(1)  but  does
       not   perform  any  conversions.  Uses  POSIX  threads  to
       increase the amount of parallelism. This improves speed in
       some cases.

       bpt=BLOCKS
              each  IO transaction will be made using this number
              of blocks (or less  if  near  the  end  of  count).
              Default is 128.

       bs=BYTES
              this must be the block size of the physical device.
              Note that this differs  from  dd(1)  which  permits
              "bs"  to  be  an  integral multiple. Default is 512
              which is usually correct for  disks  but  incorrect
              for  cdroms (which normally have 2048 byte blocks).
              cdbsz=6 | 10 | 12 | 16 size  of  SCSI  READ  and/or
              WRITE  commands issued on sg device names.  Default
              is 10 byte SCSI command blocks

       coe=0 | 1
              continue on error is 0 (off) by default. When it is
              1  read  errors  are stepped over (with a block (or
              blocks) of zeroes  being  output).   When  1  write
              errors are ignored (and alignment is maintained)

       count=BLOCKS
              copy this number of blocks. Default is minimum num­
              ber that sg devices return from READ  CAPACITY  (if
              that works) or 0

       deb=NUM
              outputs  debug  information.  If NUM is 0 (default)
              then none and as NUM increases so does  the  amount
              of debug (max debug output when NUM is 9)

       dio=0 | 1
              default  is 0 which selects indirect IO. Value of 1
              attempts direct IO which, if not  available,  falls
              back  to  indirect IO and notes this at completion.
              If     direct     IO      is      selected      and
              /proc/scsi/sg/allow_dio  has  the value of 0 then a
              warning is issued (and indirect IO is performed)

       fua=0 | 1 | 2 | 3
              force unit access bit. When 3, fua is set  on  both
              "if"  and "of", when 2, fua is set on "if", when 1,

       of=FILE
              write to FILE instead of stdout. A file name  of  -
              is  taken  to be stdout.  If FILE is /dev/null then
              no actual  writes  are  performed.  If  FILE  is  .
              (period)  then  it  is  treated  the  same  way  as
              /dev/null (this is a shorthand notation)

       seek=BLOCKS
              skip BLOCKS bs-sized blocks at start of output

       skip=BLOCKS
              skip BLOCKS bs-sized blocks at start of input

       sync=0 | 1
              when 1, does SYNCHRONIZE CACHE command on  "of"  at
              the  end of the transfer.  Only active when "of" is
              a sg device file name

       thr=NUM
              this is the number or worker  threads  (default  4)
              that  attempt to copy in parallel. Minimum is 0 and
              maximum is 16

       time=0 | 1
              when 1, times transfer and does throughput calcula­
              tion, outputting the results (to stderr) at comple­
              tion. When 0 (default) doesn't perform timing

       --version
              outputs version number information and exits

       A raw device must be bound to  a  block  device  prior  to
       using sgp_dd.  See raw(8) for more information about bind­
       ing raw devices. To be safe, the sg device mapping to SCSI
       block devices should be checked with "cat /proc/scsi/scsi"
       before use.

       The count is only deduced for sg devices (minimum >  0  if
       both  input  and  output  are  sg  devices)  otherwise  it
       defaults to 0. This is for safety!  Raw  device  partition
       information  can  often  be found with fdisk(8) [the "-ul"
       argument is useful in this respect].

       BYTES and BLOCKS may be followed by the  following  multi­
       plicative  suffixes: c C *1; b B *512; k *1,024; K *1,000;
       m  *1,048,576;  M  *1,000,000;  g  *1,073,741,824;  and  G
       *1,000,000,000

       Data  usually gets to the user space in a 2 stage process:
       first the SCSI adapter DMAs into kernel buffers  and  then
       the  sg  driver  copies  this data into user memory (write
       block device caches which has a negative impact  on  other
       machine activity.


EXAMPLES

       Looks quite similar in usage to dd:

          sgp_dd if=/dev/sg0 of=t bs=512 count=1M

       This  will  copy 1 million 512 byte blocks from the device
       associated with  /dev/sg0  (which  should  have  512  byte
       blocks)  to  a  file  called  t.   Assuming  /dev/sda  and
       /dev/sg0 are the same device then the above is  equivalent
       to:

          dd if=/dev/sda of=t bs=512 count=1000000

       although dd's speed may improve if bs was larger and count
       was suitably reduced. Using a raw device to  do  something
       similar on a IDE disk:

          raw /dev/raw/raw1 /dev/hda
          sgp_dd if=/dev/raw/raw1 of=t bs=512 count=1M

       To copy a SCSI disk partition to an IDE disk partition:

          raw /dev/raw/raw2 /dev/hda3
          sgp_dd   if=/dev/sg0   skip=10123456   of=/dev/raw/raw2
       bs=512

       This assumes a valid partition is found on the  SCSI  disk
       at  the  given  skip block address (past the 5 GB point of
       that disk) and that the partition goes to the end  of  the
       SCSI disk. An explicit count is probably a safer option.

       To  do  a fast copy from one SCSI disk to another one with
       similar geometry  (stepping  over  errors  on  the  source
       disk):

          sgp_dd if=/dev/sg0 of=/dev/sg1 bs=512 coe=1


AUTHORS

       Written by Doug Gilbert and Peter Allworth.


REPORTING BUGS

       Report bugs to <dgilbert@interlog.com>.


COPYRIGHT

       Copyright © 2000-2002 Douglas Gilbert
       This  software  is  distributed  under  the GPL version 2.
       There is NO warranty; not even for MERCHANTABILITY or FIT­
       NESS FOR A PARTICULAR PURPOSE.

  

The Linux Tutorial is always looking for new contributors.


Login
Nickname

Password

Security Code
Security Code
Type Security Code


Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!


Amazon Wish List

Did You Know?
The Linux Tutorial welcomes your suggestions and ideas.


Friends



Tell a Friend About Us

Bookmark and Share



Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.11 Seconds