disks man page on Solaris

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

disks(1M)		System Administration Commands		     disks(1M)

NAME
       disks - creates /dev entries for hard disks attached to the system

SYNOPSIS
       /usr/sbin/disks [-C] [-r rootdir]

DESCRIPTION
       devfsadm(1M)  is	 now the preferred command for /dev and should be used
       instead of disks.

       disks creates symbolic links in the /dev/dsk and /dev/rdsk  directories
       pointing	 to  the  actual  disk device special files under the /devices
       directory tree. It performs the following steps:

       1.  disks searches the kernel device tree to see what  hard  disks  are
	   attached  to	 the  system.  It notes the /devices pathnames for the
	   slices on the drive and determines the physical  component  of  the
	   corresponding /dev/dsk or /dev/rdsk name.

       2.  The /dev/dsk and /dev/rdsk directories are checked for disk entries
	   − that is, symbolic links with names of  the	 form  cN[tN]dNsN,  or
	   cN[tN]dNpN,	where N represents a decimal number. cN is the logical
	   controller number, an arbitrary number assigned by this program  to
	   designate  a particular disk controller. The first controller found
	   on the first occasion this program is run on a system, is  assigned
	   number  0.  tN is the bus-address number of a subsidiary controller
	   attached to a peripheral bus such as SCSI or IPI (the target number
	   for	SCSI,  and the facility number for IPI controllers). dN is the
	   number of the disk attached to the controller. sN is the slice num‐
	   ber	on  the	 disk.	pN  is	the  FDISK  partition  number  used by
	   fdisk(1M). (x86 Only)

       3.  If only some of the disk entries are found in /dev/dsk for  a  disk
	   that	 has  been found under the /devices directory tree, disks cre‐
	   ates the missing symbolic links. If none of the entries for a  par‐
	   ticular  disk  are  found  in  /dev/dsk, disks checks to see if any
	   entries exist for other disks attached to the same controller,  and
	   if so, creates new entries using the same controller number as used
	   for other disks on  the  same  controller.  If  no  other  /dev/dsk
	   entries  are found for slices of disks belonging to the same physi‐
	   cal controller as the current disk, disks assigns the lowest-unused
	   controller  number  and  creates  entries for the disk slices using
	   this newly-assigned controller number.

       disks is run automatically each time  a	reconfiguration-boot  is  per‐
       formed  or  when add_drv(1M) is executed. When invoking disks(1M) manu‐
       ally, first run drvconfig(1M) to ensure /devices is consistent with the
       current device configuration.

   Notice to Driver Writers
       disks   considers  all  devices	with  a	 node  type  of	 DDI_NT_BLOCK,
       DDI_NT_BLOCK_CHAN, DDI_NT_CD, DDI_NT_BLOCK_WWN or DDI_NT_CD_CHAN to  be
       disk  devices.  disks(1M)  requires the minor name of disk devices obey
       the following format conventions.

       The minor name for block interfaces  consists  of  a  single  lowercase
       ASCII character, a through u. The minor name for character (raw) inter‐
       faces consists of a single lowercase ASCII  character,	a  through  u,
       followed by ,raw.

       disks  translates  a through p to s0 through s15, while it translates q
       through u to p0 through p4. SPARC drivers should only use the  first  8
       slices:	a  through  h,	while  x86 drivers can use a through u, with q
       through u corresponding	to  fdisk(1M)  partitions.  q  represents  the
       entire  disk, while r, s, t, and	 u represent up to 4 additional parti‐
       tions.

       To prevent disks from attempting to automatically generate links for  a
       device, drivers must specify a private node type and refrain from using
       a   node	  type:	  DDI_NT_BLOCK,	  DDI_NT_BLOCK_CHAN,   DDI_NT_CD,   or
       DDI_NT_CD_CHAN when calling ddi_create_minor_node(9F).

OPTIONS
       The following options are supported:

       -C	       Causes  disks  to remove any invalid links after adding
		       any new entries	to  /dev/dsk  and  /dev/rdsk.  Invalid
		       links  are links which refer to non-existent disk nodes
		       that have been removed, powered off, or	are  otherwise
		       inaccessible.

       -r rootdir      Causes  disks  to  presume that the /dev/dsk, /dev/rdsk
		       and /devices directory trees are found  under  rootdir,
		       not directly under /.

ERRORS
       If  disks  finds	 entries  of a particular logical controller linked to
       different physical controllers, it prints an error  message  and	 exits
       without	making	any  changes  to  the  /dev directory, since it cannot
       determine which of the two alternative logical-to-physical mappings  is
       correct.	  The  links  should  be  manually corrected or removed before
       another reconfiguration-boot is performed.

EXAMPLES
       Example 1: Creating Block and Character Minor Devices

       The following example demonstrates creating  the	 block	and  character
       minor devices from within the xkdisk driver's attach(9E) function.

       #include	   <sys/dkio.h>
       /*
	* Create the minor number by combining the instance number
	* with the slice number.
	*/
       #define MINOR_NUM(i, s)	 ((i) << 4 | (s))

       int
       xkdiskattach(dev_info_t *dip, ddi_attach_cmd_t cmd)
       {
	   int instance, slice;
	   char name[8];

	       /* other stuff in attach... */

	   instance = ddi_get_instance(dip);
	   for (slice = 0; slice < V_NUMPAR; slice++) {
	       /*
		* create block device interface
		*/
	       sprintf(name, "%c", slice + 'a');
	       ddi_create_minor_node(dip, name, S_IFBLK,
		   MINOR_NUM(instance, slice), DDI_NT_BLOCK_CHAN, 0);

	       /*
		* create the raw (character) device interface
		*/
	       sprintf(name,"%c,raw", slice + 'a');
	       ddi_create_minor_node(dip, name, S_IFCHR,
		   MINOR_NUM(instance, slice), DDI_NT_BLOCK_CHAN, 0);
	   }
       }

       Installing the  xkdisk disk driver on a Sun Fire 4800, with the	driver
       controlling a  SCSI disk (target 3 attached to an isp(7D) SCSI HBA) and
       performing a reconfiguration-boot (causing disks to be run) creates the
       following special files in  /devices.

       # ls -l /devices/ssm@0,0/pci@18,700000/pci@1/SUNW,isptwo@4/
       brw-r-----   1 root sys	 32, 16 Aug 29 00:02 xkdisk@3,0:a
       crw-r-----   1 root sys	 32, 16 Aug 29 00:02 xkdisk@3,0:a,raw
       brw-r-----   1 root sys	 32, 17 Aug 29 00:02 xkdisk@3,0:b
       crw-r-----   1 root sys	 32, 17 Aug 29 00:02 xkdisk@3,0:b,raw
       brw-r-----   1 root sys	 32, 18 Aug 29 00:02 xkdisk@3,0:c
       crw-r-----   1 root sys	 32, 18 Aug 29 00:02 xkdisk@3,0:c,raw
       brw-r-----   1 root sys	 32, 19 Aug 29 00:02 xkdisk@3,0:d
       crw-r-----   1 root sys	 32, 19 Aug 29 00:02 xkdisk@3,0:d,raw
       brw-r-----   1 root sys	 32, 20 Aug 29 00:02 xkdisk@3,0:e
       crw-r-----   1 root sys	 32, 20 Aug 29 00:02 xkdisk@3,0:e,raw
       brw-r-----   1 root sys	 32, 21 Aug 29 00:02 xkdisk@3,0:f
       crw-r-----   1 root sys	 32, 21 Aug 29 00:02 xkdisk@3,0:f,raw
       brw-r-----   1 root sys	 32, 22 Aug 29 00:02 xkdisk@3,0:g
       crw-r-----   1 root sys	 32, 22 Aug 29 00:02 xkdisk@3,0:g,raw
       brw-r-----   1 root sys	 32, 23 Aug 29 00:02 xkdisk@3,0:h
       crw-r-----   1 root sys	 32, 23 Aug 29 00:02 xkdisk@3,0:h,raw

       /dev/dsk will contain the disk entries to the  block  device  nodes  in
       /devices

       # ls -l /dev/dsk
       /dev/dsk/c0t3d0s0 -> ../../devices/[...]/xkdisk@3,0:a
       /dev/dsk/c0t3d0s1 -> ../../devices/[...]/xkdisk@3,0:b
       /dev/dsk/c0t3d0s2 -> ../../devices/[...]/xkdisk@3,0:c
       /dev/dsk/c0t3d0s3 -> ../../devices/[...]/xkdisk@3,0:d
       /dev/dsk/c0t3d0s4 -> ../../devices/[...]/xkdisk@3,0:e
       /dev/dsk/c0t3d0s5 -> ../../devices/[...]/xkdisk@3,0:f
       /dev/dsk/c0t3d0s6 -> ../../devices/[...]/xkdisk@3,0:g
       /dev/dsk/c0t3d0s7 -> ../../devices/[...]/xkdisk@3,0:h

       and  /dev/rdsk  will  contain the disk entries for the character device
       nodes in /devices

       # ls -l /dev/rdsk
       /dev/rdsk/c0t3d0s0 -> ../../devices/[...]/xkdisk@3,0:a,raw
       /dev/rdsk/c0t3d0s1 -> ../../devices/[...]/xkdisk@3,0:b,raw
       /dev/rdsk/c0t3d0s2 -> ../../devices/[...]/xkdisk@3,0:c,raw
       /dev/rdsk/c0t3d0s3 -> ../../devices/[...]/xkdisk@3,0:d,raw
       /dev/rdsk/c0t3d0s4 -> ../../devices/[...]/xkdisk@3,0:e,raw
       /dev/rdsk/c0t3d0s5 -> ../../devices/[...]/xkdisk@3,0:f,raw
       /dev/rdsk/c0t3d0s6 -> ../../devices/[...]/xkdisk@3,0:g,raw
       /dev/rdsk/c0t3d0s7 -> ../../devices/[...]/xkdisk@3,0:h,raw

FILES
       /dev/dsk/*      Disk entries (block device interface)

       /dev/rdsk/*     Disk entries (character device interface)

       /devices/*      Device special files (minor device nodes)

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │SUNWcsu			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       add_drv(1M),   devfsadm(1M),   fdisk(1M),    attributes(5),    isp(7D),
       devfs(7FS), dkio(7I), attach(9E), ddi_create_minor_node(9F)

       Writing Device Drivers

BUGS
       disks silently ignores malformed minor device names.

SunOS 5.10			  7 Nov 2002			     disks(1M)
[top]

List of man pages available for Solaris

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