dmd man page on OpenIndiana

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

dmd(7D)				    Devices			       dmd(7D)

NAME
       dmd - Driver for MMS drive managers

SYNOPSIS
       /devices/pseudo/dmd@0:watcher

       /devices/pseudo/dmd@0:ndrm

       /devices/pseudo/dmd@0:stat

DESCRIPTION
       The Media Management System (MMS) is a distributed removable media man‐
       agement system based on the IEEE 1244 Media Management System  specifi‐
       cation.	MMS  provides  a  uniform, consistent tape interface to client
       applications.

       Drives managed by MMS have a drive manager on each host that  processes
       tapes  and  accesses  the drive. The drive manager provides device-spe‐
       cific operations and label processing. (Note: only ANSI labels are cur‐
       rently  supported.)  The	 handle	 returned by the MMS MMP mount command
       belongs to the drive manager driver (dmd). When dmd receives an open or
       close  system  call,  it passes it to the drive manager for processing.
       The drive manager then validates the file according to the file	dispo‐
       sition  flags.  Note  that only O_RDONLY, O_WRONLY and O_RDWR flags are
       used in validation. If O_APPEND is specified, the drive	manager	 posi‐
       tions  the  file as if append is specified in the mount command and the
       record format and blocksize are set.

IOCTLS
       The Device Manager driver supports the MTIOCTOP, MTREW, MTRETEN, MTFSF,
       MTFSR,  MTBSF, MTBSR, MTWEOF, MTEOM, MTSRSZ, MTGRSZ, MTIOCGET and MTIO‐
       CLRERR driver ioctls. In addition, MMS provides the ioctls shown	 below
       for  the	 device	 manager driver. (Note that MMS_LOCATE is supported in
       both mms and raw modes and MMS_LOCATE is supported only in mms mode).

	 MMS_BLK_LIMIT - returns the block limit of a drive.
			 arg:

		 typedef struct	 mms_blk_limit {
			 uint64_t	 mms_max;	 /* Max blocksize */
			 uint32_t	 mms_min;	 /* Min blocksize */
			 uint32_t	 mms_gran;	 /* granularity */
		 }	 mms_blk_limit_t;

	   MMS_GET_POS - gets the current position.
			 arg:

		 typedef struct	 mms_pos {
			 uint32_t	 mms_type;	 /* LBN or non LBN) */
			 uint64_t	 mms_pos;
		 }	 mms_pos_t;

		 /* Value of mms_pos_type */
		 #define MMS_LBYTEN		 1	 /* logical byte */
		 #define MMS_LBLKN		 2	 /* logical block */

	   MMS_LOCATE -	 locate to a specific location.
			 arg: arg must be a mms_pos_t obtained from a
			 previous MMS_GET_POS.

	   MMS_GET_CAPACITY - returns the tape's capacity.
			       arg:
		 typedef struct mms_capacity {
			 /*
			  * Capacity is in megabytes (1048576)
			  */
			 uint64_t	 mms_max;	 /* cartridge capacity */
			 uint64_t	 mms_avail;	 /* amount available */
								 /* from EOD */
			 uint32_t	 mms_pc_avail;	 /* percent available */
		 }	 mms_capacity_t;

	   MMS_SET_DENSITY - sets the tape's density.
			     arg:
		 typedef struct	 mms_density {
			 uint32_t	 mms_den;
		 }	 mms_density_t;

	   MMS_GET_DENSITY - gets the current tape density.
			     arg:
		 typedef struct	 mms_density {
			 uint32_t	 mms_den;
		 }	 mms_density_t;

	   MMS_INQUIRY - gets inquiry data of drive.
			 arg:
		 typedef struct	 mms_inquiry	 {
			 uchar_t	 mms_inq[64];
		 }	 mms_inquiry_t;

	 Status of dmd

	 MMS uses the MTIOCGET ioctl to report status.
	 The status code in mt_dsreg is defined as follows:

		 /usr/include/sys/scsi/generic/status.h

		 #define STATUS_MASK			 0x3E
		 #define STATUS_GOOD			 0x00
		 #define STATUS_CHECK			 0x02
		 #define STATUS_MET			 0x04
		 #define STATUS_BUSY			 0x08
		 #define STATUS_INTERMEDIATE		 0x10
		 #define STATUS_SCSI2			 0x20
		 #define STATUS_INTERMEDIATE_MET	 0x14
		 #define STATUS_RESERVATION_CONFLICT	 0x18
		 #define STATUS_TERMINATED		 0x22
		 #define STATUS_QFULL			 0x28
		 #define STATUS_ACA_ACTIVE		 0x30

	 The error code in mt_erreg are defined
	 as follows:

		 /usr/include/sys/scsi/generic/sense.h

		 /*
		  * Sense Key values for Extended Sense.
		  */

		 #define KEY_NO_SENSE		 0x00
		 #define KEY_RECOVERABLE_ERROR	 0x01
		 #define KEY_NOT_READY		 0x02
		 #define KEY_MEDIUM_ERROR	 0x03
		 #define KEY_HARDWARE_ERROR	 0x04
		 #define KEY_ILLEGAL_REQUEST	 0x05
		 #define KEY_UNIT_ATTENTION	 0x06
		 #define KEY_WRITE_PROTECT	 0x07
		 #define KEY_DATA_PROTECT	 KEY_WRITE_PROTECT
		 #define KEY_BLANK_CHECK	 0x08
		 #define KEY_VENDOR_UNIQUE	 0x09
		 #define KEY_COPY_ABORTED	 0x0A
		 #define KEY_ABORTED_COMMAND	 0x0B
		 #define KEY_EQUAL		 0x0C
		 #define KEY_VOLUME_OVERFLOW	 0x0D
		 #define KEY_MISCOMPARE		 0x0E
		 #define KEY_RESERVED		 0x0F

	  /usr/include/sys/scsi/impl/sense.h:
		 /* Status returned by driver */
		 #define SUN_KEY_FATAL		 0x10	 /* handshake failure */
		 #define SUN_KEY_TIMEOUT	 0x11	 /* command timeout */
		 #define SUN_KEY_EOF		 0x12	 /* eof hit */
		 #define SUN_KEY_EOT		 0x13	 /* eot hit */
		 #define SUN_KEY_LENGTH		 0x14	 /* length error */
		 #define SUN_KEY_BOT		 0x15	 /* bot hit */
		 #define SUN_KEY_WRONGMEDIA	 0x16	 /* wrong tape media */
		 #define NUM_IMPL_SENSE_KEYS	 7	 /* seven extra keys */

	 In MMS mode, the following values may be in mt_erreg when using
	 mms mode. They are defined in mms.h

		 #define MMS_KEY_BOF	 0xe0	 /* beginning of file. */
		 #define MMS_KEY_EOF	 0xe1	 /* end of file. */

FILES
       /kernel/drv/dmd		  32-bit kernel module (x86)

       /kernel/drv/sparcv9/dmd	  64-bit kernel module (SPARC)

       /kernel/drv/amd64/dmd	  64-bit kernel module (x86)

       /kernel/drv/dmd.conf	  Configuration file

ATTRIBUTES
       See attributes(5) for a description of the following attributes:

       ┌────────────────────┬─────────────────────────────────────────────────────────┐
       │  ATTRIBUTE TYPE    │			  ATTRIBUTE VALUE		      │
       ├────────────────────┼─────────────────────────────────────────────────────────┤
       │Architecture	    │ SPARC, x86					      │
       ├────────────────────┼─────────────────────────────────────────────────────────┤
       │Availability	    │ system/storage/mms				      │
       ├────────────────────┼─────────────────────────────────────────────────────────┤
       │Interface Stability │ Uncommitted					      │
       └────────────────────┴─────────────────────────────────────────────────────────┘

SEE ALSO
       mt(1), mmsadm(1M), attributes(5), dda(7D), st(7D), mtio(7I)

       IEEE 1244 Removable Media Standards Specification — IEEE, 2000

SunOS 5.11			  17 Nov 2008			       dmd(7D)
[top]

List of man pages available for OpenIndiana

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