sg_format man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

SG_FORMAT(8)			   SG3_UTILS			  SG_FORMAT(8)

NAME
       sg_format  -  format, resize or modify protection information of a SCSI
       disk

SYNOPSIS
       sg_format [--cmplst={0|1}] [--count=COUNT] [--dcrt]  [--early]  [--fmt‐
       pinfo=FPI]   [--format]	 [--help]   [--ip_def]	 [--long]  [--mode=MP]
       [--pfu=PFU] [--pie=PIE] [--pinfo]  [--poll=PT]  [--resize]  [--rto_req]
       [--security]  [--six]  [--size=SIZE]  [--verbose]  [--version] [--wait]
       DEVICE

DESCRIPTION
       Not all SCSI direct access devices need to be formatted and  some  have
       vendor  specific	 formatting procedures. SCSI disks with rotating media
       are probably the largest group that  do	support	 a  'standard'	format
       operation.  They are typically factory formatted to a block size of 512
       bytes with the largest number of blocks that  the  manufacturer	recom‐
       mends.  The manufacturer's recommendation typically leaves aside a cer‐
       tain number of tracks, spread across the	 media,	 for  reassignment  of
       blocks to logical block addresses during the life of the disk.

       This  utility can format modern SCSI disks and potentially change their
       block size (if permitted) and the block count (i.e. number of  accessi‐
       ble  blocks  on the media also known as "resizing"). Resizing a disk to
       less than the  manufacturer's  recommended  block  count	 is  sometimes
       called  "short  stroking" (see NOTES section). Resizing the block count
       while not changing the block size may not require a  format  operation.
       The  SBC-2 standard (see www.t10.org) has obsoleted the "format device"
       mode page. Many of the low level details found in that  mode  page  are
       now left up to the discretion of the manufacturer.

       When  this  utility  is	used  without options (i.e. it is only given a
       DEVICE argument) it prints out the existing block size and block	 count
       derived	from  two sources. These two sources are a block descriptor in
       the response to a MODE SENSE command and the response to a READ	CAPAC‐
       ITY  command.  The  reason for this double check is to detect a "format
       corrupt" state (see NOTES section). This	 usage	will  not  modify  the
       disk.

       When  this utility is used with the "--format" (or "-F") option it will
       attempt to format the given DEVICE. There is a 15 second	 pause	during
       which  time  the	 user  is  invited  thrice  (5 seconds apart) to abort
       sg_format. This occurs just prior the SCSI FORMAT  UNIT	command	 being
       issued. See the NOTES section for more information.

       Protection  information	is optional and is made up of one or more pro‐
       tection intervals, each made up of 8 bytes associated with each logical
       block.  Four  protection types are defined with protection type 0 being
       no protection intervals. See the PROTECTION INFORMATION	section	 below
       for more information.

OPTIONS
       Arguments to long options are mandatory for short options as well.  The
       options are arranged in alphabetical order based	 on  the  long	option
       name.

       -C, --cmplst={0|1}
	      sets  the CMPLST ("complete list") bit in the FORMAT UNIT cdb to
	      0 or 1.  The default is 1	 in  which  case  the  existing	 GLIST
	      (grown  list)  is	 ignored.  If the value is 0 then the existing
	      GLIST is taken into account. See the  LISTS  section  below.  In
	      most cases this bit should be left set; some MO disk drives need
	      this bit cleared.

       -c, --count=COUNT
	      where COUNT is the number of blocks to be formatted or media  to
	      be  resized  to.	Can  be used with either --format or --resize.
	      With --format this option need not be given in which case it  is
	      assumed  to  be  zero. With --format the interpretation of COUNT
	      is:
		(COUNT > 0) : only format the first COUNT blocks and READ
			      CAPACITY will report COUNT blocks after format
		(COUNT = 0) and block size  unchanged  :  use  existing	 block
	      count
		(COUNT = 0) and block size changed : recommended maximum block
						     count for new block size
		(COUNT = -1) : use recommended maximum block count
		(COUNT < -1) : illegal
	      With  --resize  this  option  must  be  given and COUNT has this
	      interpretation:
		(COUNT > 0) : after resize READ CAPACITY will report COUNT
			      blocks
		(COUNT = 0) : after resize READ CAPACITY will report 0 blocks
		(COUNT = -1) : after resize READ CAPACITY will report its
			       maximum number of blocks
		(COUNT < -1) : illegal
	      In both cases if the given COUNT exceeds the maximum  number  of
	      blocks (for the block size) then the disk reports an error.  See
	      NOTES section below.

       -D, --dcrt
	      this option sets the DCRT	 bit  in  the  FORMAT  UNIT  command's
	      parameter list header. It will "disable certification". Certifi‐
	      cation  verifies	that  blocks  are  usable  during  the	format
	      process.	Using  this  option may speed the format.  The default
	      action of this utility (i.e. when this option is not  given)  is
	      to  clear the DCRT bit thereby requesting "media certification".
	      When the DCRT bit is set, the FOV bit must  also	be  set	 hence
	      sg_format does that.

       -e, --early
	      during a format operation, The default action of this utility is
	      to poll the disk every 60 seconds to determine the  progress  of
	      the  format  operation until it is finished. When this option is
	      given this utility will exit "early", that is  as	 soon  as  the
	      format  operation	 has  commenced. Then the user can monitor the
	      progress of the ongoing format operation	with  other  utilities
	      (e.g.  sg_turs(8) or sg_requests(8)). This option and --wait are
	      mutually exclusive.

       -f, --fmtpinfo=FPI
	      sets the FMTPINFO field in  the  FORMAT  UNIT  cdb  to  a	 value
	      between  0  and  3.   The default value is 0. The FMTPINFO field
	      from SBC-3 revision 16 is a 2 bit field (bits 7 and 6 of byte  1
	      in  the  cdb). Prior to that it was a single bit field (bit 7 of
	      byte 1 in the cdb) and there  was	 an  accompanying  bit	called
	      RTO_REQ  (bit  6	of  byte 1 in the cdb). The deprecated options
	      "--pinfo" and "--rto-req" represent the older usage. This option
	      should  be  used	in their place. See the PROTECTION INFORMATION
	      section below for more information.

       -F, --format
	      issue a SCSI FORMAT UNIT command.	 This  will  destroy  all  the
	      data  held  on the media.	 This option is required to change the
	      block size of a disk. The user is given a 15 second  count  down
	      to  ponder the wisdom of doing this, during which time control-C
	      (amongst other Unix commands) can be used to kill	 this  process
	      before it does any damage.
	      When  used  three times (or more) the preliminary MODE SENSE and
	      SELECT commands are bypassed, leaving only the  initial  INQUIRY
	      and  FORMAT  UNIT commands. This is for emergency use (e.g. when
	      the MODE SENSE/SELECT  commands  are  not	 working)  and	cannot
	      change the logical block size.
	      See  NOTES  section for implementation details and EXAMPLES sec‐
	      tion for typical use.

       -h, --help
	      print out the usage information then exit.

       -I, --ip_def
	      sets the default Initialization Pattern. Some disks  (SSDs)  use
	      this  to	flag  that a format should fully provision (i.e. asso‐
	      ciate a physical block with every logical block). The same disks
	      (SSDs) might thin provision if this option is not given. If this
	      option is given then the --security option cannot be given.

       -l, --long
	      the default action of this utility is to assume 32  bit  logical
	      block addresses. With 512 byte block size this permits more than
	      2 terabytes (almost 2 ** 41 bytes) on a single disk. This option
	      selects  commands	 and  parameters that allow for 64 bit logical
	      block addresses.	Specifically this option  sets	the  "longlba"
	      flag  in the MODE SENSE (10) command and uses READ CAPACITY (16)
	      rather than READ CAPACITY (10). If this option is not given  and
	      READ  CAPACITY (10) or MODE SELECT detects a disk the needs more
	      than 32 bits to represent its logical  blocks  then  it  is  set
	      internally.  This	 option	 does  not set the LONGLIST bit in the
	      FORMAT UNIT command. The LONGLIST bit is set as required depend‐
	      ing  other  parameters  (e.g.  when  '--pie=PIE' is greater than
	      zero).

       -M, --mode=MP
	      MP is a mode page number (0 to 62 inclusive) that will  be  used
	      for  reading and perhaps changing the device logical block size.
	      The default is 1 which is the  Read-Write	 Error	Recovery  mode
	      page.

       -P, --pfu=PFU
	      sets  the	 "Protection Field Usage" field in the parameter block
	      associated with a FORMAT UNIT command to PFU. The default	 value
	      is  0, the only other defined value currently is 1. See the PRO‐
	      TECTION INFORMATION section below for more information.

       -q, --pie=PIE
	      sets the "Protection Interval Exponent" field in	the  parameter
	      block  associated with a FORMAT UNIT command to PIE. The default
	      value is 0.  PIE can only be non-zero with  protection  types  2
	      and 3.  The value of 0 is typical for 512 byte blocks; with 4096
	      byte blocks a value of 3 may be appropriate (i.e.	 8  protection
	      intervals	 interleaved  with  4096 bytes of user data). A device
	      may not support any non-zero values. This field  first  appeared
	      in SBC-3 revision 18.

       -p, --pinfo
	      this   option  is	 deprecated,  use  the	--fmtpinfo=FPI	option
	      instead.	If used, then it sets bit 7 of byte 1  in  the	FORMAT
	      UNIT  cdb and that is equivalent to setting --fmtpinfo=2. [So if
	      --pinfo is used (plus --fmtpinfo=FPI and --pfu=PFU are not given
	      or their arguments are 0) then protection type 1 is selected.]

       -x, --poll=PT
	      where  PT	 is the type of poll used. If PT is 0 then a TEST UNIT
	      READY command is used, otherwise	a  REQUEST  SENSE  command  is
	      used.  The  default  is currently 0 but this will change to 1 in
	      the near future. See the NOTES sections below.

       -r, --resize
	      rather than format the disk,  it	can  be	 resized.  This	 means
	      changing the number of blocks on the device reported by the READ
	      CAPACITY	command.   This	 option	 should	 be  used   with   the
	      --count=COUNT option.  The contents of all logical blocks on the
	      media remain unchanged when this option is used. This means that
	      any resize operation can be reversed. This option cannot be used
	      together with either --format or a --size=SIZE whose argument is
	      different to the existing block size.

       -R, --rto_req
	      The option is deprecated, use the --fmtpinfo=FPI option instead.
	      If used, then it sets bit 6 of byte 1 in the FORMAT UNIT cdb.

       -S, --security
	      sets the "Security Initialization" (SI) bit in the  FORMAT  UNIT
	      command's initialization pattern descriptor within the parameter
	      list. According to  SBC-3	 the  default  initialization  pattern
	      "shall be written using a security erasure write technique". See
	      the NOTES section on the SCSI SANITIZE command. If  this	option
	      is given then the --ip_def option cannot be given.

       -6, --six
	      Use  6  byte variants of MODE SENSE and MODE SELECT. The default
	      action is to use the 10 byte variants. Some MO drives need  this
	      option set when doing a format.

       -s, --size=SIZE
	      where  SIZE  is  the  block  size	 (i.e. number of bytes in each
	      block) to format the device to. The default value is whatever is
	      currently	 reported by the block descriptor in a MODE SENSE com‐
	      mand. If the block size given by this option is  different  from
	      the  current  value then a MODE SELECT command is used to change
	      it prior to the FORMAT UNIT command  being  started  (as	recom‐
	      mended  in  the  draft  standard). Many SCSI disks have 512 byte
	      sectors by default and allow up to 16 bytes extra	 in  a	sector
	      (i.e. 528 byte sectors).	If the given size in unacceptable with
	      the disk, most likely an "Invalid field in parameter list"  mes‐
	      sage  will  appear  in  sense  data (requires the use of '-v' to
	      decode sense data).

       -v, --verbose
	      increase the level of verbosity,	(i.e.  debug  output).	"-vvv"
	      gives a lot more debug output.

       -V, --version
	      print the version string and then exit.

       -w, --wait
	      the  default format action is to set the "IMMED" bit in the FOR‐
	      MAT UNIT command's (short)  parameter  header.  If  this	option
	      (i.e.  --wait)  is  given	 then  the  "IMMED" bit is not set. If
	      --wait is given the FORMAT UNIT command waits until  the	format
	      operation	 completes  before returning its response. This can be
	      many hours on large disks. This utility sets a 15	 hour  timeout
	      on  such a FORMAT UNIT command! Some recent SSDs go to the other
	      extreme of completing a format operation in  1.5	seconds	 hence
	      waiting is not an issue.

LISTS
       The  SBC-3 draft (revision 36) defines PLIST, CLIST, DLIST and GLIST in
       section 4.13 on "Medium defects". Briefly, the PLIST is	the  "primary"
       list of manufacturer detected defects, the CLIST ("certification" list)
       contains those detected during the format operation,  the  DLIST	 is  a
       list of defects that can be given to the format operation. The GLIST is
       the grown list which starts in the format process  as  CLIST+DLIST  and
       can  "grow"  later due to automatic reallocation (see the ARRE and AWRE
       bits in the Read-Write Error Recovery mode page	(see  sdparm(8)))  and
       use of the SCSI REASSIGN BLOCKS command (see sg_reassign(8)).

       The  CMPLST  bit	 (controlled  by  the  --cmplst=0|1 option) determines
       whether the existing GLIST, when the format operation  is  invoked,  is
       taken  into  account.  The  sg_format  utility sets the FOV bit to zero
       which causes DPRY=0, so the PLIST is taken into account, and DCRT=0, so
       the CLIST is generated and used during the format process.

       The  sg_format  utility does not permit a user to provide a defect list
       (i.e. DLIST).

PROTECTION INFORMATION
       Protection Information (PI) is additional information held with logical
       blocks  so  that	 an  application and/or host bus adapter can check the
       correctness of those logical blocks. PI is placed in one or  more  pro‐
       tection intervals beside each logical block. A protection interval con‐
       tains 8 bytes made up of a 2 byte "logical block guard" (CRC), a 2 byte
       "logical	 block	application guard", and a 4 byte "logical block refer‐
       ence tag". Devices with 512 byte logical block size typically have  one
       protection  interval  appended, making its logical block data 520 bytes
       long. Devices with 4096 byte logical block size often have 8 protection
       intervals spread across its logical block data for a total size of 4160
       bytes. Note that for all other purposes the logical block size is  con‐
       sidered to be 512 and 4096 bytes respectively.

       SBC-3 drafts have added several "protection types" to the PI introduced
       in the SBC-2 standard. SBC-3 defines 4 protection types (types 0 to  3)
       with  protection type 0 meaning no PI is maintained. While a device may
       support one or more protection types, it can only be formatted  with  1
       of  the	4. To change a device's protection type, it must be re-format‐
       ted. For more information see the  Protection  Information  in  section
       4.22 of draft SBC-3 revision 36.

       A  device  that supports PI information (i.e. supports one or more pro‐
       tection types 1, 2 and 3)  sets	the  "PROTECT"	bit  in	 its  standard
       INQUIRY	response.  It  also sets the SPT field in the EXTENDED INQUIRY
       VPD page response to indicate which protection types it supports. Given
       PROTECT=1  then SPT=0 implies the device supports PI type 1 only, SPT=1
       implies the device supports  PI	types  1  and  2,  and	various	 other
       non-obvious  mappings  up  to SPT=7 which implies protection types 1, 2
       and 3 are supported. The current protection type of a disk can be found
       in the "P_TYPE" and "PROT_EN" fields in the response of a READ CAPACITY
       (16) command (e.g. with the 'sg_readcap --long' utility).

       Given that a device supports a particular protection type, a  user  can
       then  choose  to	 format that disk with that protection type by setting
       the "FMTPINFO" and "Protection Field Usage" fields in the  FORMAT  UNIT
       command.	  Those	 fields	 correspond  to	 the  --fmtpinfo=FPI  and  the
       --pfu=PFU options in this utility. The list below shows the  four  pro‐
       tection	types followed by the options of this utility needed to select
       them:
	 0 : --fmtpinfo=0 --pfu=0
	 1 : --fmtpinfo=2 --pfu=0
	 2 : --fmtpinfo=3 --pfu=0
	 3 : --fmtpinfo=3 --pfu=1
       The default value of FPI (in --fmtpinfo=FPI) is 0 and the default value
       of  PFU (in --pfu=PFU) is 0. So if neither --fmtpinfo=FPI nor --pfu=PFU
       are given then protection type 0 (i.e. no  protection  information)  is
       chosen.

NOTES
       The SBC-2 standard states that the REQUEST SENSE command should be used
       for obtaining progress indication when the format command is  underway.
       However,	 tests on a selection of disks shows that TEST UNIT READY com‐
       mands yield progress indications (but not REQUEST SENSE	commands).  So
       the  current  version of this utility defaults to using TEST UNIT READY
       commands to poll the disk to find out the progress of the  format.  The
       --poll=PT option has been added to control this.

       When  the  --format  option is given without the --wait option then the
       SCSI FORMAT UNIT command is issued with the IMMED bit set which	causes
       the  SCSI  command to return after it has started the format operation.
       The --early option will cause sg_format to exit at that point.	Other‐
       wise  the  DEVICE  is  polled  every 60 seconds with TEST UNIT READY or
       REQUEST SENSE commands until it reports an "all clear" (i.e. the format
       operation  has  completed). Normally these polling commands will result
       in a progress indicator (expressed as a percentage) being output to the
       screen.	 If  the  user	gets  bored  watching the progress report then
       sg_format process can  be  terminated  (e.g.  with  control-C)  without
       affecting  the  format  operation  which continues. However a target or
       device reset (or a power cycle)	will  probably	cause  the  device  to
       become "format corrupt".

       When  the  --format and --wait options are both given then this utility
       may take a long time to return. In this case care should be  taken  not
       to send any other SCSI commands to the disk as it may not respond leav‐
       ing those commands queued behind the active format  command.  This  may
       cause a timeout in the OS driver (in a lot shorter period than 15 hours
       applicable to some format operations). This may result in the OS reset‐
       ting  the  disk leaving the format operation incomplete. This may leave
       the disk in a "format corrupt" state requiring another format to remedy
       the situation.

       When the block size (i.e. the number of bytes in each block) is changed
       on a disk two SCSI commands must be sent: a MODE SELECT to  change  the
       block  size  followed  by  a FORMAT command. If the MODE SELECT command
       succeeds and the FORMAT fails then the disk may be in a state that  the
       draft  standard	calls "format corrupt". A block descriptor in a subse‐
       quent MODE SENSE will report the requested new block size while a  READ
       CAPACITY	 command will report the existing (i.e. different) block size.
       Alternatively the READ CAPACITY command may fail, reporting the	device
       is not ready, potentially requiring a format. The solution to this sit‐
       uation is to do a format again (and this time the new block  size  does
       not  have  to  be  given) or change the block size back to the original
       size.

       The SBC-2 standard states that the block count can be set back  to  the
       manufacturer's  maximum	recommended value in a format or resize opera‐
       tion.  This can be done by placing an address of 0xffffffff (or the  64
       bit  equivalent)	 in  the  appropriate block descriptor field to a MODE
       SELECT command. In signed (two's complement) arithmetic that value cor‐
       responds	 to  the  manufacturer's  maximum  recommended	value.	To see
       exactly which SCSI commands are being executed  and  parameters	passed
       add the "-vvv" option to the sg_format command line.

       Short  stroking	is  a technique to trade off capacity for performance.
       Rotating disk performance is usually highest on the outer tracks	 (i.e.
       lower logical block addresses) so by resizing or reformatting a disk to
       a smaller capacity, average performance will usually be increased.

       Other utilities may be useful in finding	 information  associated  with
       formatting.  These include sg_inq(8) to fetch standard INQUIRY informa‐
       tion (e.g. the PROTECT bit) and to fetch the EXTENDED INQUIRY VPD  page
       (e.g.  RTO  and	GRD_CHK	 bits).	 The  sdparm(8) utility can be used to
       access and potentially change the now obsolete format mode page.

       scsiformat is another utility available for formatting SCSI disks  with
       Linux.  It  dates  from 1997 (most recent update) and may be useful for
       disks whose firmware is of that vintage.

       The COUNT numeric argument may include a multiplicative	suffix	or  be
       given  in  hexadecimal.	See  the  "NUMERIC  ARGUMENTS"	section in the
       sg3_utils(8) man page.

       The SCSI SANITIZE command was introduced in SBC-3 revision  27.	It  is
       closely related to the ATA sanitize disk feature set and can be used to
       remove all existing data from a disk. Sanitize is  more	likely	to  be
       implemented  on	modern disks (including SSDs) than FORMAT UNIT's secu‐
       rity initialization feature (see the --security	option)	 and  in  some
       cases much faster.

       SSDs  that  support  thin provisioning will typically unmap all logical
       blocks during a format. The reason is to improve the  SSD's  endurance.
       Also thin provisioned formats typically complete faster than fully pro‐
       visioned ones on the same disk (see the	--ip_def  option).  In	either
       case format operations on SSDs tend to be a lot faster than they are on
       hard disks with spinning media.

EXAMPLES
       These examples use Linux device names. For  suitable  device  names  in
       other supported Operating Systems see the sg3_utils(8) man page.

       In the first example below simply find out the existing block count and
       size derived from two sources: a block descriptor in a MODE SELECT com‐
       mand  response  and  from  the response of a READ CAPACITY commands. No
       changes are made:

	  # sg_format /dev/sdm

       Now a simple format, leaving the block count and size as they were pre‐
       viously.	  The  FORMAT  UNIT  command is executed in IMMED mode and the
       device is polled every 60 seconds to print out a progress indication:

	  # sg_format --format /dev/sdm

       Now the same format, but waiting (passively) until the format operation
       is complete:

	  # sg_format --format --wait /dev/sdm

       Next  is	 a  format in which the block size is changed to 520 bytes and
       the block count is set to the manufacturer's maximum  value  (for  that
       block size). Note, not all disks support changing the block size:

	  # sg_format --format --size=520 /dev/sdm

       Now a resize operation so that only the first 0x10000 (65536) blocks on
       a disk are accessible. The remaining blocks remain unaltered.

	  # sg_format --resize --count=0x10000 /dev/sdm

       Now resize the disk back to its normal (maximum) block count:

	  # sg_format --resize --count=-1 /dev/sdm

       One reason to format a SCSI disk	 is  to	 add  protection  information.
       First check which protection types are supported by a disk (by checking
       the SPT field in the Extended inquiry VPD page together with  the  Pro‐
       tect bit in the standard inquiry response):

	  # sg_vpd -p ei -l /dev/sdb
	  extended INQUIRY data VPD page:
	    ACTIVATE_MICROCODE=0
	    SPT=1 [protection types 1 and 2 supported]
	    ....

       Format with type 1 protection:

	  # sg_format --format --fmtpinfo=2 /dev/sdm

       After  a	 successful  format  with type 1 protection, READ CAPACITY(16)
       should show something like this:

	  # sg_readcap -l /dev/sdm
	  Read Capacity results:
	     Protection: prot_en=1, p_type=0, p_i_exponent=0 [type  1  protec‐
       tion]
	     Logical block provisioning: lbpme=0, lbprz=0
	     ....

       To format with type 3 protection:

	  # sg_format --format --fmtpinfo=3 --pfu=1 /dev/sdm

       For  the	 disk shown above this will probably fail because the Extended
       inquiry VPD page showed only types 1 and 2 protection are supported.

EXIT STATUS
       The exit status of sg_format is 0 when it is successful. Otherwise  see
       the  sg3_utils(8) man page. Unless the --wait option is given, the exit
       status may not reflect the success of otherwise of the  format.	 Using
       sg_turs(8) and sg_readcap(8) after the format operation may be wise.

AUTHORS
       Written by Grant Grundler, James Bottomley and Douglas Gilbert.

REPORTING BUGS
       Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT
       Copyright  ©  2005-2014	Grant  Grundler,  James	 Bottomley and Douglas
       Gilbert
       This software is distributed under the GPL version 2. There is NO  war‐
       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
       POSE.

SEE ALSO
       sg_turs(8), sg_requests(8), sg_inq(8), sg_modes(8), sg_vpd(8), sg_reas‐
       sign(8),	   sg_readcap(8),   sg3_utils(8),   sg_sanitize(8)   [all   in
       sg3_utils], sdparm(8), scsiformat (old), hdparm(8)

sg3_utils-1.40			   July 2014			  SG_FORMAT(8)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net