st

Autres langues

Langue: ja

Version: 2005-03-13 (openSuse - 09/10/07)

Autres sections - même nom

Section: 4 (Pilotes et protocoles réseau)

̾Á°

st - SCSI ¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹

½ñ¼°


#include <sys/mtio.h>



int ioctl(int fd, int request [, (void *)arg3]);

int ioctl(int fd, MTIOCTOP, (struct mtop *)mt_cmd);

int ioctl(int fd, MTIOCGET, (struct mtget *)mt_status);

int ioctl(int fd, MTIOCPOS, (struct mtpos *)mt_pos);

ÀâÌÀ

st ¥É¥é¥¤¥Ð¡¼¤ÏÍÍ¡¹¤Ê SCSI ¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÄ󶡤¹¤ë¡£ ¸½ºß¤Ç¤Ï¡¢¥É¥é¥¤¥Ð¡¼¤Ï¸¡½Ð¤µ¤ì¤¿Á´¤Æ¤Î "¥·¡¼¥±¥ó¥·¥ã¥ë¥¢¥¯¥»¥¹(sequential-access)" ¥¿¥¤¥×¤Î¥Ç¥Ð¥¤¥¹¤Ø¤Î À©¸æ¤ò¹Ô¤¦¡£ st ¥É¥é¥¤¥Ð¡¼¤Ï¥á¥¸¥ã¡¼¥Ç¥Ð¥¤¥¹ÈÖ¹æ 9 ¤òÍѤ¤¤ë¡£

¤½¤ì¤¾¤ì¤Î¥Ç¥Ð¥¤¥¹¤Ï 8 ¤Ä¤Î¥Þ¥¤¥Ê¡¼¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò»È¤¦¡£ ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ÎÄã°Ì¦¤Î 5 ¥Ó¥Ã¥È¤Ï¡¢¸¡½Ð¤µ¤ì¤¿½ç¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë¡£ ¥«¡¼¥Í¥ë 2.6 ¤Ç¤Ï¡¢ Äã°Ì¦ 8 ¥Ó¥Ã¥È¤è¤ê¤â¾å°Ì¤Ë¤¢¤ë¥Ó¥Ã¥È·²¤¬¤³¤Î 5 ¥Ó¥Ã¥È¤ËÏ¢·ë (concatenate) ¤µ¤ì¡¢¥Æ¡¼¥ÖÈÖ¹æ¤È¤Ê¤ë¡£ ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤Ï¡¢¤½¤ì¤¾¤ì 4 ¤Ä¤Î¿ô»ú¤«¤é¤Ê¤ëÆó¤Ä¤Î¥»¥Ã¥È¤Ë ¥°¥ë¡¼¥×ʬ¤±¤µ¤ì¤ë¡£ ´ðËÜ (¼«Æ°´¬¤­Ìᤷ) ¥Ç¥Ð¥¤¥¹ÈÖ¹æ n¡¢ ¤ª¤è¤Ó "È󴬤­Ìᤷ(no-rewind)" ¥Ç¥Ð¥¤¥¹ÈÖ¹æ (n+ 128) ¤Ç¤¢¤ë¡£ ´ðËܥǥХ¤¥¹ÈÖ¹æ¤òÍѤ¤¤Æ¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Ç¥Ð¥¤¥¹¤Ë¤Ï¡¢ ¥¯¥í¡¼¥º¤¹¤ë»þ¤Ë REWIND ¥³¥Þ¥ó¥É¤¬Á÷¤é¤ì¤ë¡£ "È󴬤­Ìᤷ" ¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤òÍѤ¤¤Æ¥ª¡¼¥×¥ó¤µ¤ì¤¿¾ì¹ç¤Ï REWIND ¥³¥Þ¥ó¥É¤ÏÁ÷¤é¤ì¤Ê¤¤ (¼«Æ°´¬¤­Ìᤷ¥Ç¥Ð¥¤¥¹¤ò¥Æ¡¼¥×¤Î°ÌÃÖ·è¤á¤Ë (Î㤨¤Ð mt ¤Ç) ÍѤ¤¤Æ¤â¡¢ ˾¤à·ë²Ì¤ÏÆÀ¤é¤ì¤Ê¤¤¡£¥Æ¡¼¥×¤Ï mt ¥³¥Þ¥ó¥É¤Î¸å¤Ç´¬¤­Ìᤵ¤ì¡¢ ¼¡¤Î¥³¥Þ¥ó¥É¤Ï¥Æ¡¼¥×¤ÎÀèƬ¤«¤é»Ï¤Þ¤Ã¤Æ¤·¤Þ¤¦)¡£

¤½¤ì¤¾¤ì¤Î¥°¥ë¡¼¥×¤Ç¡¢°Û¤Ê¤Ã¤¿ÆÃÀ­ (¥Ö¥í¥Ã¥¯¥µ¥¤¥º¡¦°µ½Ì¡¦ Ì©Å٤ʤÉ) ¤Î¥Ç¥Ð¥¤¥¹¤òÄêµÁ¤¹¤ë¤¿¤á¤Ë 4 ¤Ä¤Î¥Þ¥¤¥Ê¡¼Èֹ椬ÍøÍѤǤ­¤ë¡£ ¥·¥¹¥Æ¥à¤¬µ¯Æ°¤·¤¿¤È¤­¤Ë¤Ï¡¢ºÇ½é¤Î¥Ç¥Ð¥¤¥¹¤À¤±¤¬»È¤¨¤ë¡£ ¾¤Î 3 ¤Ä¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÆÃÀ­¤¬ÄêµÁ¤µ¤ì¤Æ½é¤á¤Æ»È¤¨¤ë¤è¤¦¤Ë¤Ê¤ë (¸å½Ò)¡£ (¥³¥ó¥Ñ¥¤¥ë»þ¤ÎÄê¿ô¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ÎºÇÂç¿ô¤È¡¢ ¤½¤ì¤¾¤ì¤Î¥É¥é¥¤¥Ö¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤Î¸Ä¿ô¤È¤òÄ´À°¤Ç¤­¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Î³ä¤êÅö¤Æ¤Ç¤Ï 32 Âæ¤Þ¤Ç¤Î¥Æ¡¼¥×¥É¥é¥¤¥Ö¤òÀ©¸æ¤Ç¤­¤ë¡£ Î㤨¤Ð 64 Âæ¤Þ¤Ç¤Î¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ò¡¢°Û¤Ê¤Ã¤¿¥ª¥×¥·¥ç¥ó¤ò»ý¤Ä Æó¤Ä¤Î¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ÇÀ©¸æ¤¹¤ë¤è¤¦¤Ë¤â¤Ç¤­¤ë¡£)

¥Ç¥Ð¥¤¥¹¤ÏÉáÄ̼¡¤Î¤è¤¦¤Ëºî¤é¤ì¤ë:




mknod -m 666 /dev/st0 c 9 0

mknod -m 666 /dev/st0l c 9 32

mknod -m 666 /dev/st0m c 9 64

mknod -m 666 /dev/st0a c 9 96

mknod -m 666 /dev/nst0 c 9 128

mknod -m 666 /dev/nst0l c 9 160

mknod -m 666 /dev/nst0m c 9 192

mknod -m 666 /dev/nst0a c 9 224

¤³¤ì¤é¤Ë¤ÏÂбþ¤¹¤ë¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤Ï¸ºß¤·¤Ê¤¤¡£

¥É¥é¥¤¥Ð¤ÏÆâÉô¥Ð¥Ã¥Õ¥¡¤ò»È¤¤¡¢¤½¤ÎÂ礭¤µ¤Ï¾¯¤Ê¤¯¤È¤â¥Æ¡¼¥×¤Î 1 ¥Ö¥í¥Ã¥¯¤òÊÝ»ý¤Ç¤­¤ë¤è¤¦¤Ë¼è¤é¤ì¤ë¡£ 2.1.121 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ ¥Ð¥Ã¥Õ¥¡¤ÏϢ³¤¹¤ë°ì¤Ä¤Î¥Ö¥í¥Ã¥¯¤È¤·¤Æ³ä¤êÅö¤Æ¤é¤ì¤ë¡£¤³¤ÎÊýË¡¤À¤È¡¢ ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÎºÇÂçÃͤϥ«¡¼¥Í¥ë¤Î³ä¤êÅö¤Æ²Äǽ¤ÊϢ³¥á¥â¥ê¥Ö¥í¥Ã¥¯¤Ë À©¸Â¤µ¤ì¤ë¡£¤³¤ÎÀ©¸Â¤Ï 32 ¥Ó¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï 128 kB¡¢ 64 ¥Ó¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï 256 kB ¤Ç¤¢¤ë¡£¤³¤ì°Ê¹ß¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ ¥É¥é¥¤¥Ð¤ÏɬÍפ˱þ¤¸¤Æ¤¤¤¯¤Ä¤«¤Ë¤ï¤«¤ì¤¿¥Ð¥Ã¥Õ¥¡¤ò³ä¤êÅö¤Æ¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 16 ¸Ä¤Þ¤Ç¤ÎÉôʬ¤Ëʬ³ä¤Ç¤­¤ë¡£¤¹¤Ê¤ï¤Á ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÎºÇÂçÃͤÏÈó¾ï¤ËÂ礭¤¤ (128 kB ¤Î¥Ö¥í¥Ã¥¯ 16 ¸Ä¤Î ³ä¤êÅö¤Æ¤ËÀ®¸ù¤¹¤ì¤Ð 2 MB ¤È¤Ê¤ë)¡£

¥É¥é¥¤¥Ð¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤Ï¥³¥ó¥Ñ¥¤¥ë»þ¤ÎÄê¿ô¤ÇÄêµÁ¤µ¤ì¤ë¡£ ¤³¤ì¤Ï¥«¡¼¥Í¥ë¤Îµ¯Æ°»þ¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¾å½ñ¤­²Äǽ¤Ç¤¢¤ë¡£ ¤µ¤é¤Ë¥É¥é¥¤¥Ð¤Ï¼Â¹Ô»þ¤Ë¤â¡¢É¬Íפ˱þ¤¸¤Æ¤è¤êÂ礭¤Ê°ì»þ¥Ð¥Ã¥Õ¥¡¤ò ³ä¤êÅö¤Æ¤è¤¦¤È¤¹¤ë¡£¤·¤«¤·¼Â¹Ô»þ¤ËÂ礭¤ÊϢ³¥á¥â¥ê¥Ö¥í¥Ã¥¯¤ò ³ä¤êÅö¤Æ¤è¤¦¤È¤¹¤ë¤È¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢ 2.1.121 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢Æ°Åª¤Ê¥Ð¥Ã¥Õ¥¡³ä¤êÅö¤Æ¤Ï¤¢¤Þ¤ê¤¢¤Æ¤Ë¤·¤Ê¤¤¤Û¤¦¤¬Îɤ¤ (¤³¤ì¤Ï kerneld ¤ä kmod ¤Ë¤è¤ë¥É¥é¥¤¥Ð¤Î¥Ç¥Þ¥ó¥É¥í¡¼¥É¤Ë´Ø¤·¤Æ¤âÅö¤Æ¤Ï¤Þ¤ë)¡£

¥É¥é¥¤¥Ð¤Ï¥É¥é¥¤¥Ö¤Î¥á¡¼¥«¤ä¥â¥Ç¥ë¤òÆÃÄꤷ¤Æ¥µ¥Ý¡¼¥È¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ ¥·¥¹¥Æ¥à¤¬µ¯Æ°¤¹¤ë¤È¡¢¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤Î¥ª¥×¥·¥ç¥ó¤¬¥É¥é¥¤¥Ö¤Î ¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë¡£Î㤨¤Ð¡¢ ¥É¥é¥¤¥Ö¤Î¥Õ¥¡¡¼¥à¥¦¥§¥¢¤¬¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤òÁªÂò¤¹¤ì¤Ð¡¢ ¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤Ï¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤ò»È¤¦¤³¤È¤Ë¤Ê¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï ioctl(2) ¥³¡¼¥ë¤òÌÀ¼¨Åª¤Ë»È¤¨¤ÐÊѹ¹¤Ç¤­¡¢ ¤½¤ÎÊѹ¹¤Ï¥Ç¥Ð¥¤¥¹¤¬¥¯¥í¡¼¥º¤µ¤ì¤ÆºÆ¤Ó¥ª¡¼¥×¥ó¤µ¤ì¤¿¤È¤­¤â»Ä¤ë¡£ ¥ª¥×¥·¥ç¥ó¤ÎÀßÄê¤Ï¡¢ ¼«Æ°´¬¤­Ìᤷ¥Ç¥Ð¥¤¥¹¤ÈÈ󴬤­Ìᤷ¥Ç¥Ð¥¤¥¹¤ÎξÊý¤Ë±Æ¶Á¤¹¤ë¡£

4 ¤Ä¤Î¥µ¥Ö¥°¥ë¡¼¥×¤½¤ì¤¾¤ì¤Î¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ°Û¤Ê¤ë¥ª¥×¥·¥ç¥ó¤ò Í¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Ð¥¤¥¹¤¬¥ª¡¼¥×¥ó¤µ¤ì¤¿¤È¤­¤Ë ¸úÎϤòȯ´ø¤¹¤ë¡£Î㤨¤Ð¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¤¢¤ë¥Ç¥Ð¥¤¥¹¤ò ŬÅö¤Ê¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Î¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ç½ñ¤­¹þ¤à¤è¤¦¤ËÄêµÁ¤·¡¢ Ê̤ΥǥХ¤¥¹¤ò²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ç½ñ¤­¹þ¤à¤è¤¦¤Ë¤Ç¤­¤ë (¥É¥é¥¤¥Ö¤¬ ξÊý¤Î¥â¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ì¤Ð)¡£

¤³¤Î¥É¥é¥¤¥Ð¤Ï¡¢ ¥Æ¡¼¥×¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë (¥É¥é¥¤¥Ö¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç)¡£ (¥Æ¡¼¥×¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¥Ç¥£¥¹¥¯¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤Ï¤Ê¤ó¤Î´Ø·¸¤â¤Ê¤¤¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó²½¤µ¤ì¤¿¥Æ¡¼¥×¤Ï¡¢°ì¤Ä¤Î¥á¥Ç¥£¥¢¤ËÊ£¿ô¤ÎÏÀÍý¥Æ¡¼¥×¤¬ ¸ºß¤¹¤ë¤«¤Î¤è¤¦¤Ë¸«¤¨¤ë¡£) ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥Ý¡¼¥È¤Ï ioctl(2) ¤Ë¤è¤Ã¤ÆÍ­¸ú¤Ë¤Ç¤­¤ë¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬Êѹ¹¤µ¤ì¤ë¤È¡¢ ¥Æ¡¼¥×¤Î°ÌÃ֤Ϥ½¤ì¤¾¤ì¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥óÆâÉô¤ÇÊݸ¤µ¤ì¤ë¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÁªÂò¤Ï ioctl(2) ¤Ç¹Ô¤¦¡£ ¤½¤ì°Ê¹ß¤Î¥Æ¡¼¥×Áàºî¤ÎÂоݤϡ¢¤½¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ê¤ë¡£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÀÚ¤êÂؤ¨¤Ï¡¢¼¡¤Î¥Æ¡¼¥×Áàºî¤ÈƱ»þ¤Ë¹Ô¤ï¤ì¡¢ ÉÔɬÍפʥơ¼¥×°ÜÆ°¤ò¤·¤Ê¤¯¤Æ¤¹¤à¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ °ì¤Ä¤Î¥Æ¡¼¥×¤Ë¤ª¤±¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºÇÂç¿ô¤Ï ¥³¥ó¥Ñ¥¤¥ë»þ¤ÎÄê¿ô¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤ë (Ä̾ï¤Ï 4)¡£ ¥É¥é¥¤¥Ð¤Ë¤Ï¡¢¥Æ¡¼¥×¤Î 1 ¤Ä¤Þ¤¿¤Ï 2 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤­¤ë¤è¤¦¤Ê ioctl(2) ¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£

Ä̾¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤ËÂФ¹¤ë¥Ï¡¼¥É¥ê¥ó¥¯ ¤Þ¤¿¤Ï¥½¥Õ¥È¥ê¥ó¥¯¤È¤·¤Æ¡¢¥Ç¥Ð¥¤¥¹ /dev/tape ¤¬ºîÀ®¤µ¤ì¤ë¡£

¥«¡¼¥Í¥ë 2.6.2 °Ê¹ß¤Ç¤Ï¡¢¤³¤Î¥É¥é¥¤¥Ð¤Ï sysfs ¥Ç¥£¥ì¥¯¥È¥ê /sys/class/scsi_tape ¤Ë¡¢¥¢¥¿¥Ã¥Á¤·¤¿¥Ç¥Ð¥¤¥¹¤È¤½¤Î¥Ç¥Ð¥¤¥¹¤Ë³äÅö¤Æ¤¿¥Ñ¥é¥á¡¼¥¿¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¡£

¥Ç¡¼¥¿Å¾Á÷

¤³¤Î¥É¥é¥¤¥Ð¤Ï¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤È²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Î ξÊý¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë (¥É¥é¥¤¥Ö¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ì¤Ð)¡£ ¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ç¤Ï¡¢¥É¥é¥¤¥Ö¤Ï·è¤Þ¤Ã¤¿¥µ¥¤¥º¤Î¥Ö¥í¥Ã¥¯¤ò (Ê£¿ô¸Ä) ½ñ¤­¹þ¤à¡£¤³¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï write ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥Ð¥¤¥È¿ô¤Ë¤è¤é¤Ê¤¤¡£ ²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ç¤Ï¡¢ write ¥³¡¼¥ë¤´¤È¤Ë°ì¤Ä¤Î¥Æ¡¼¥×¥Ö¥í¥Ã¥¯¤Ë½ñ¤­¹þ¤ß¤¬¹Ô¤ï¤ì¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¥Ð¥¤¥È¿ô¤¬Âбþ¤¹¤ë¥Æ¡¼¥×¥Ö¥í¥Ã¥¯¤Î¥µ¥¤¥º¤ò·è¤á¤ë¡£ ¥Æ¡¼¥×¾å¤Î¥Ö¥í¥Ã¥¯¤Ë¤Ï¡¢½ñ¤­¹þ¤ß¥â¡¼¥É¤Î¾ðÊó¤Ï°ìÀÚ´Þ¤Þ¤ì¤Ê¤¤¡£ Æɤ߹þ¤ß¤Î¤È¤­¤Ë½ÅÍפʤ³¤È¤Ï¡¢¥Æ¡¼¥×¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò¼õ¤±Æþ¤ì¤ë ¥³¥Þ¥ó¥É¤ò»È¤¦¤«¤É¤¦¤«¤À¤±¤Ç¤¢¤ë¡£

²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ç¤Ï¡¢Æɤ߹þ¤ß¥Ð¥¤¥È¿ô¤Ï¥Æ¡¼¥×¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤È ɬ¤º¤·¤â°ìÃפ·¤Æ¤¤¤Ê¤¯¤Æ¤âÎɤ¤¡£¥Ð¥¤¥È¿ô¤¬¥Æ¡¼¥×¤Î¼¡¤Î¥Ö¥í¥Ã¥¯¤è¤ê¤â Â礭¤±¤ì¤Ð¡¢¥É¥é¥¤¥Ð¤Ï¤½¤Î¥Ç¡¼¥¿¤òÊÖ¤·¡¢´Ø¿ô¤Ï¼ÂºÝ¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤òÊÖ¤¹¡£ ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬¥Ð¥¤¥È¿ô¤è¤ê¤âÂ礭¤±¤ì¤Ð¡¢Í׵ᤵ¤ì¤¿Ê¬¤Î¥Ç¡¼¥¿¤¬ ¥Ö¥í¥Ã¥¯¤ÎÀèƬ¤«¤éÆɤ߹þ¤Þ¤ì¤ÆÊÖ¤µ¤ì¡¢¥Ö¥í¥Ã¥¯¤Î»Ä¤ê¤ÏÇË´þ¤µ¤ì¤ë¡£

¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤Ð Æɤ߹þ¤ß¥Ð¥¤¥È¿ô¤ÏǤ°Õ¤ÎÂ礭¤µ¤Ç¤è¤¤¡£¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤¬Ìµ¸ú¤Î¾ì¹ç¤Ï¡¢ ¥Æ¡¼¥×¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÎÀ°¿ôÇܤǤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ 2.1.121 °ÊÁ°¤Î ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤¬Í­¸ú¤Ê¾ì¹ç¤Ë¤Ï Ǥ°Õ¤Î¥Ð¥¤¥È¿ô¤Î½ñ¤­¹þ¤ß¤¬¤Ç¤­¤ë¡£¤½¤Î¾¤Î¾ì¹ç¤¹¤Ù¤Æ (2.1.121 °ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¥Ð¥Ã¥Õ¥¡¤¬Ìµ¸ú¤Ê¾ì¹ç¤È¡¢¿·¤·¤¤¥«¡¼¥Í¥ë¤Î¾ì¹ç) ¤Ç¤Ï¡¢½ñ¤­¹þ¤ß¥Ð¥¤¥È¿ô¤Ï¥Æ¡¼¥×¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÎÀ°¿ôÇܤǤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

2.6 ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¤³¤Î¥É¥é¥¤¥Ð¤Ï¥æ¡¼¥¶¥Ð¥Ã¥Õ¥¡¤È¥Ç¥Ð¥¤¥¹´Ö¤Ç¡¢ ¥Ç¡¼¥¿¤ÎľÀÜžÁ÷ (direct transfer) ¤ò»î¤ß¤ë¡£ ¤³¤ì¤¬ÉÔ²Äǽ¤Ê¾ì¹ç¤Ï¡¢¥É¥é¥¤¥Ð¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡¤òÍѤ¤¤ë¡£ ľÀÜžÁ÷¤¬¤Ç¤­¤Ê¤¤Íýͳ¤È¤·¤Æ¤Ï¡¢¥æ¡¼¥¶¥Ð¥Ã¥Õ¥¡¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Å¬ÀڤǤʤ¤ (¥Ç¥Õ¥©¥ë¥È¤Ï 512 ¥Ð¥¤¥È¤À¤¬ HBA ¥É¥é¥¤¥Ð¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë)¡¢ ¥æ¡¼¥¶¥Ð¥Ã¥Õ¥¡¤Î¥Ú¡¼¥¸¤Î¤É¤ì¤«¤¬ SCSI ¥¢¥À¥×¥¿¤«¤é¸«¤¨¤Ê¤¤¡¢ ¤Ê¤É¤¬¹Í¤¨¤é¤ì¤ë¡£

¥Æ¡¼¥×¤ò¥¯¥í¡¼¥º¤¹¤ëľÁ°¤Î¥Æ¡¼¥×ÁàºîÌ¿Î᤬½ñ¤­¹þ¤ß¤Ç¤¢¤ì¤Ð¡¢ ¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤¬¼«Æ°Åª¤Ë¥Æ¡¼¥×¤Ø½ñ¤­¹þ¤Þ¤ì¤ë¡£

Æɤ߹þ¤ß»þ¤Ë¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤Ë½Ð²ñ¤¦¤È¡¢°Ê²¼¤¬¼Â¹Ô¤µ¤ì¤ë¡£ ¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤¬¸«ÉÕ¤«¤Ã¤¿¤È¤­¤Ë¥Ð¥Ã¥Õ¥¡¤Ë¥Ç¡¼¥¿¤¬»Ä¤Ã¤Æ¤¤¤ë¤È¡¢ ¥Ð¥Ã¥Õ¥¡¤Î¥Ç¡¼¥¿¤¬ÊÖ¤µ¤ì¤ë¡£¼¡¤ÎÆɤ߹þ¤ßÁàºî¤Ï 0 ¥Ð¥¤¥È¤òÊÖ¤¹¡£ ¤½¤Î¼¡¤ÎÆɤ߹þ¤ß¤Ï¼¡¤Î¥Õ¥¡¥¤¥ë¤«¤é¤Î¥Ç¡¼¥¿¤òÊÖ¤¹¡£ µ­Ï¿¥Ç¡¼¥¿¤ÎËöÈø¤Ï¡¢Æɤ߹þ¤ßÁàºî¤¬Æó²ó³¤±¤Æ 0 ¥Ð¥¤¥È¤òÊÖ¤·¤ÆÍè¤ë¤«¤¿¤Á¤ÇÄÌÃΤµ¤ì¤ë¡£»°²óÌܤÎÆɤ߹þ¤ß¤Ï¥¨¥é¡¼¤òÊÖ¤¹¡£

ioctl

¥É¥é¥¤¥Ð¤Ï 3 ¤Ä¤Î ioctl(2) Í×µá¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£ st ¥É¥é¥¤¥Ð¤Ë¤è¤Ã¤Æǧ¼±¤µ¤ì¤Ê¤«¤Ã¤¿Í×µá¤Ï SCSI ¥É¥é¥¤¥Ð¤Ë¤ï¤¿¤µ¤ì¤ë¡£ °Ê²¼¤ÎÄêµÁ¤Ï /usr/include/linux/mtio.h ¤Ë¤è¤ë¡£

MTIOCTOP --- ¥Æ¡¼¥×Áàºî¤Î¼Â¹Ô

¤³¤ÎÍ×µá¤Ï (struct mtop *) ·¿¤Î°ú¿ô¤ò¤È¤ë¡£Á´¤Æ¤Î¥É¥é¥¤¥Ö¤¬Á´¤Æ¤ÎÁàºî¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ ¥É¥é¥¤¥Ö¤¬Áàºî¤òµñÈݤ¹¤ë¤È¡¢¥É¥é¥¤¥Ð¤Ï EIO ¥¨¥é¡¼¤òÊÖ¤¹¡£


/* Structure for MTIOCTOP - mag tape op command: */

struct mtop {

    short   mt_op;       /* operations defined below */

    int     mt_count;    /* how many of them */

};

Ä̾ï¤Î¥Æ¡¼¥×ÍøÍѤΤ¿¤á¤Î¼§µ¤¥Æ¡¼¥×Áàºî:

MTBSF
mt_count ¸Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯(filemark)ʬ¤Î¸åÊý¥¹¥Ú¡¼¥¹(backward space)¡£
MTBSFM
mt_count ¸Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯Ê¬¤Î¸åÊý¥¹¥Ú¡¼¥¹¡£ ¥Æ¡¼¥×¤Î°ÌÃÖ¤òºÇ¸å¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤Î EOT ¦¤ËÊѹ¹¤¹¤ë¡£
MTBSR
mt_count ¸Ä¤Î¥ì¥³¡¼¥É(¥Æ¡¼¥×¥Ö¥í¥Ã¥¯)ʬ¤Î¸åÊý¥¹¥Ú¡¼¥¹¡£
MTBSS
mt_count ¸Ä¤Î¥»¥Ã¥È¥Þ¡¼¥¯Ê¬¤Î¸åÊý¥¹¥Ú¡¼¥¹¡£
MTCOMPRESSION
mt_count ¤¬ 0 °Ê³°¤Ê¤é¡¢¥É¥é¥¤¥Ö¤Î¥Ç¡¼¥¿°µ½Ì¤òÍ­¸ú¤Ë¤¹¤ë¡£ 0 ¤Ê¤é°µ½Ì¤ò̵¸ú¤Ë¤¹¤ë¡£¤³¤Î¥³¥Þ¥ó¥É¤Ï MODE ¥Ú¡¼¥¸ 15 ¤òÍѤ¤¤ë¡£ ¤³¤ì¤Ï¤Û¤È¤ó¤É¤Î DAT ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
MTEOM
(¥Õ¥¡¥¤¥ë¤òÄɲ乤뤿¤á¤Ë) ¥á¥Ç¥£¥¢¤Îµ­Ï¿Éôʬ¤ÎºÇ¸å¤Þ¤Ç¿Ê¤á¤ë¡£
MTERASE
¥Æ¡¼¥×¤ÎÆâÍƤò¾Ãµî¤¹¤ë¡£ 2.6 ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢°ú¿ô¤¬ 0 ¤Ê¤é¤Ð short erase (¥Æ¡¼¥×¤¬¶õ¤À¤È°õ¤ò¤Ä¤±¤ë) ¤ò¹Ô¤¦¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï long erase (Á´ÂΤò¾Ãµî¤¹¤ë) ¤ò¹Ô¤¦¡£
MTFSF
mt_count ¸Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯Ê¬¤ÎÁ°Êý¥¹¥Ú¡¼¥¹(forward space)¡£
MTFSFM
mt_count ¸Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯Ê¬¤ÎÁ°Êý¥¹¥Ú¡¼¥¹¡£ ¥Æ¡¼¥×¤Î°ÌÃ֤ϺǸå¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤Î BOT ¦Êѹ¹¤µ¤ì¤ë¡£
MTFSR
mt_count ¸Ä¤Î¥ì¥³¡¼¥É(¥Æ¡¼¥×¥Ö¥í¥Ã¥¯)ʬ¤ÎÁ°Êý¥¹¥Ú¡¼¥¹¡£
MTFSS
mt_count ¸Ä¤Î¥»¥Ã¥È¥Þ¡¼¥¯Ê¬¤ÎÁ°Êý¥¹¥Ú¡¼¥¹¡£
MTLOAD
SCSI ¥í¡¼¥É¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£ HP ¥ª¡¼¥È¥í¡¼¥À¤Ë¸Â¤Ã¤ÆÍøÍѤǤ­¤ë¡£ mt_count ¤¬Äê¿ô MT_ST_HPLOADER_OFFSET ¤È¤¢¤ë¿ôÃͤÎϤǤ¢¤ë¾ì¹ç¡¢ ¤½¤Î¿ôÃͤ¬¥É¥é¥¤¥Ö¤ËÁ÷¤é¤ì¡¢¥ª¡¼¥È¥í¡¼¥À¤ÎÀ©¸æ¤ËÍѤ¤¤é¤ì¤ë¡£
MTLOCK
¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ÎÈâ¤ò¥í¥Ã¥¯¤¹¤ë¡£
MTMKPART
¥Æ¡¼¥×¤ò 1 ¤Þ¤¿¤Ï 2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥Õ¥©¡¼¥Þ¥Ã¥È¤¹¤ë¡£ mt_count ¤¬ 0 ¤Ç¤Ê¤±¤ì¤Ð¡¢¤³¤ì¤¬ºÇ½é¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥¤¥º¤òÍ¿¤¨¡¢ ÆóÈÖÌܤΥѡ¼¥Æ¥£¥·¥ç¥ó¤¬¥Æ¡¼¥×¤Î»Ä¤ê¤Ë¤Ê¤ë¡£ mt_count ¤¬ 0 ¤Î¾ì¹ç¤Ï¡¢¥Æ¡¼¥×¤Ï°ì¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤È¤·¤Æ¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤ë¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥Ý¡¼¥È¤¬Í­¸ú¤Ë¤µ¤ì¤¿ ¥É¥é¥¤¥Ö¤Ç¤Ê¤±¤ì¤Ð»È¤¨¤Ê¤¤ (°Ê²¼¤Î MT_ST_CAN_PARTITIONS ¤ò¸«¤è)¡£
MTNOP
²¿¤âÁàºî¤ò¹Ô¤ï¤Ê¤¤¡£- Éû¼¡Åª¤Ê¸ú²Ì¤È¤·¤Æ¡¢¥É¥é¥¤¥Ð¡¼¤Î¥Ð¥Ã¥Õ¥¡ ¤ò¥Õ¥é¥Ã¥·¥å¤¹¤ë MTIOCGET ¤ò»È¤Ã¤Æ¾õÂÖ¤òÆɤ߽Ф¹Á°¤Ë¤Ï¤³¤ÎÁàºî¤ò¹Ô¤¦¤Ù¤­¤Ç¤¢¤ë¡£
MTOFFL
´¬¤­Ìᤷ(rewind)¤ò¹Ô¤¤¡¢¥É¥é¥¤¥Ö¤ò¥ª¥Õ¥é¥¤¥ó(off line)¤Ë¤¹¤ë¡£
MTRESET
¥É¥é¥¤¥Ö¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£
MTRETEN
¥Æ¡¼¥×¤ò¥ê¥Æ¥ó¥·¥ç¥ó (re-tension) ¤¹¤ë (¥Æ¡¼¥×¤òºÇ¸å¤Þ¤Ç´¬¤¤¤¿¸å¡¢ºÇ½é¤Þ¤Ç´¬¤­Ì᤹)¡£
MTREW
´¬¤­Ìᤷ¡£
MTSEEK
mt_count ¤Ç»ØÄꤵ¤ì¤¿¥Æ¡¼¥×¥Ö¥í¥Ã¥¯ÈÖ¹æ¤ò¥·¡¼¥¯¤¹¤ë¡£ ¤³¤ÎÁàºî¤¬¹Ô¤¨¤ë¤Î¤Ï¡¢ LOCATE ¥³¥Þ¥ó¥É (¥Ç¥Ð¥¤¥¹¸ÇÍ­¤Î¥¢¥É¥ì¥¹) ¤ò¥µ¥Ý¡¼¥È¤¹¤ë SCSI-2 ¥É¥é¥¤¥Ö¤«¡¢¤¢¤ë¤¤¤Ï Tandberg ¸ß´¹¤Î SCSI-1 ¥É¥é¥¤¥Ö(Tandberg, Archive, Viper, Wangtek,¡Ä)¤Ç¤¢¤ë¡£ ¥Ç¥Ð¥¤¥¹¸ÇÍ­¤Î¥¢¥É¥ì¥¹¤¬ÍøÍѤµ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ö¥í¥Ã¥¯ÈÖ¹æ¤Ï °ÊÁ°¤Ë MTIOCPOS ¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¤â¤Î¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë¡£
MTSETBLK
mt_count ¤ÎÃͤò¥É¥é¥¤¥Ö¤Î¥Ö¥í¥Ã¥¯Ä¹(block length)¤È¤·¤Æ¥»¥Ã¥È¤¹¤ë¡£ ¥Ö¥í¥Ã¥¯Ä¹¤ò 0 ¤Ë¤¹¤ë¤È¥É¥é¥¤¥Ö¤Ï²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¥â¡¼¥É¤Ë¥»¥Ã ¥È¤µ¤ì¤ë¡£
MTSETDENSITY
¥Æ¡¼¥×Ì©ÅÙ(tape density)¤ò mt_count ¤Ç¼¨¤µ¤ì¤ë¥³¡¼¥É¤ËÊѹ¹¤¹¤ë¡£¥É¥é¥¤¥Ö¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ëÌ©ÅÙ¥³¡¼¥É ¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥É¥é¥¤¥Ö¤Îʸ½ñ¤Ë½ñ¤¤¤Æ¤¢¤ë¤À¤í¤¦¡£
MTSETPART
¥¢¥¯¥Æ¥£¥Ö¤Ê¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÂè mt_count ÈÖÌܤËÀÚ¤êÂؤ¨¤ë¡£¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï 0 ¤«¤é¿ô¤¨¤ë¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥µ¥Ý¡¼¥È¤¬Í­¸ú¤Ë¤µ¤ì¤¿ ¥É¥é¥¤¥Ö¤Ç¤Ê¤±¤ì¤Ð»È¤¨¤Ê¤¤ (°Ê²¼¤Î MT_ST_CAN_PARTITIONS ¤ò¸«¤è)¡£
MTUNLOAD
SCSI unload ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë (¥Æ¡¼¥×¤Î¥¤¥¸¥§¥¯¥È¤Ï¹Ô¤ï¤Ê¤¤)¡£
MTUNLOCK
¥Æ¡¼¥×¥É¥é¥¤¥Ö¤ÎÈâ¤Î¥í¥Ã¥¯¤ò²ò½ü¤¹¤ë¡£
MTWEOF
mt_count ¸Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤ò½ñ¤­¹þ¤à¡£
MTWSM
mt_count ¸Ä¤Î¥»¥Ã¥È¥Þ¡¼¥¯¤ò½ñ¤­¹þ¤à¡£

¥Ç¥Ð¥¤¥¹¥ª¥×¥·¥ç¥ó¤ÎÀßÄê¤Î¤¿¤á¤Î (¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¤Ë¤è¤ë) ¼§µ¤¥Æ¡¼¥×Áàºî:

MTSETDRVBUFFER
¤¤¤í¤¤¤í¤Ê¥É¥é¥¤¥Ö¤È¥É¥é¥¤¥Ð¡¼¤Î¥ª¥×¥·¥ç¥ó¤ò mt_count ¤Ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿³Æ¥Ó¥Ã¥È¤Ë½¾¤Ã¤ÆÀßÄꤹ¤ë¡£ ¥ª¥×¥·¥ç¥ó¤Ë¤Ï¡¢¥É¥é¥¤¥Ö¤Î¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¥â¡¼¥É¡¢ ¥Ö¡¼¥ëÃͤΥɥ饤¥Ð¥ª¥×¥·¥ç¥ó¤Î½¸¹ç¡¢ ¥Ð¥Ã¥Õ¥¡¤Î½ñ¤­¹þ¤ßïçÃÍ (¥Ç¥Õ¥©¥ë¥È¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÈÌ©ÅÙ)¡¢ ¥¿¥¤¥à¥¢¥¦¥ÈÃͤ¬´Þ¤Þ¤ì¤ë (¥«¡¼¥Í¥ë 2.1 °Ê¹ß)¡£ °ì²ó¤ÎÁàºî¤ÇÊѤ¨¤é¤ì¤ë¤Î¤Ï¡¢¾åµ­¤Î¥ê¥¹¥È¤Î¤É¤ì¤«°ì¤Ä¤À¤±¤Ç¤¢¤ë (Ê£¿ô¤Î¥Ö¡¼¥ëÃͤϤޤȤá¤Æ°ì¤Ä¤È´ªÄꤵ¤ì¤ë)¡£
¹â°Ì¤Î4¥Ó¥Ã¥È¤¬¥¼¥í¤Ç¤¢¤ëÃͤϡ¢ ¥É¥é¥¤¥Ö¤Î¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¥â¡¼¥É¤ÎÀßÄê¤Ë»È¤ï¤ì¤ë¡£ ¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¥â¡¼¥É¤Ï°Ê²¼¤ÎÄ̤ê:
0
¥É¥é¥¤¥Ö¤Ï¥é¥¤¥È¥³¥Þ¥ó¥É¤ËÂФ·¡¢ ¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤¬¼ÂºÝ¤ËÇÞÂΤ˽ñ¤­¹þ¤Þ¤ì¤ë¤Þ¤Ç GOOD ¤Î¥¹¥Æ¡¼¥¿¥¹¤òÊÖ¤µ¤Ê¤¤¡£
1
¥É¥é¥¤¥Ö¤Ï¥é¥¤¥È¥³¥Þ¥ó¥É¤ËÂФ·¡¢ ¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤¬¥É¥é¥¤¥Ö¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡¤ËžÁ÷¤µ¤ì¤ë¤È¤¹¤°¤Ë¡¢ GOOD ¤Î¥¹¥Æ¡¼¥¿¥¹¤òÊÖ¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
2
¥é¥¤¥È¥³¥Þ¥ó¥É¤ËÂФ·¡¢°Ê²¼¤Î 2 ¤Ä¤Î¾ò·ï¤¬¤½¤í¤Ã¤¿¾ì¹ç¡¢ ¥É¥é¥¤¥Ö¤Ï¤¹¤°¤Ë GOOD ¥¹¥Æ¡¼¥¿¥¹¤òÊÖ¤¹»ö¤¬¤Ç¤­¤ë¡£ (a)¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤¬¥É¥é¥¤¥Ö¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡¤ËžÁ÷¤µ¤ì¤¿¡£ (b)ÊÌ¡¹¤Î¥¤¥Ë¥·¥¨¡¼¥¿¡¼¤«¤éÍ褿¥Ð¥Ã¥Õ¥¡¥Ç¡¼¥¿¤¬¡¢ ¤¹¤Ù¤ÆÇÞÂΤØÌäÂê¤Ê¤¯½ñ¤­¹þ¤Þ¤ì¤¿¡£
½ñ¤­¹þ¤ßïçÃͤòÀ©¸æ¤¹¤ë¤Ë¤Ï¡¢ mt_count ¤Ë¤Ï¡¢Äê¿ô MT_ST_WRITE_THRESHOLD ¤È¥Ö¥í¥Ã¥¯¥«¥¦¥ó¥È¤ÎÏÀÍýÏ (OR) ¤ò¤È¤Ã¤¿Ãͤò²¼°Ì¤Î 28¥Ó¥Ã¥È¤Ë´Þ¤Þ¤Í¤Ð¤Ê¤é¤Ê¤¤¡£ ¤³¤Î¥Ö¥í¥Ã¥¯¥«¥¦¥ó¥È¤Ï 1024 ¥Ð¥¤¥È¥Ö¥í¥Ã¥¯¤òñ°Ì¤È¤·¤¿¤â¤Î¤Ç¡¢¥Æ¡¼¥×¤Î ʪÍý¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤òñ°Ì¤È¤·¤¿¤â¤Î¤Ç¤Ï¤Ê¤¤¡£ ¤Þ¤¿¡¢ïçÃͤϥɥ饤¥Ð¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡(¾åµ­¤Î DESCRIPTION »²¾È¤Î»ö)¤Î¥µ¥¤¥º¤ò±Û¤¨¤ë»ö¤Ï¤Ç¤­¤Ê¤¤¡£
¥Ö¡¼¥ëÃͤΥե饰¤òÀßÄꡦ²ò½ü¤¹¤ë¤Ë¤Ï¡¢ mt_count ¤ÎÃÍ¤Ï MT_ST_BOOLEANS, MT_ST_SETBOOLEANS, MT_ST_CLEARBOOLEANS, MT_ST_DEFBOOLEANS ¤Î¤¤¤º¤ì¤«°ì¤Ä¤ÎÃͤˡ¢°Ê²¼¤Î¥ª¥×¥·¥ç¥ó¤ÎǤ°Õ¤ÎÁȤ߹ç¤ï¤»¤ËÂФ·¤Æ ÏÀÍýϤò¼è¤Ã¤¿¤â¤Î¤ò»ØÄꤹ¤ë¡£ MT_ST_BOOLEANS ¤òÍѤ¤¤ë¤È¡¢ ¥ª¥×¥·¥ç¥ó¤òÂбþ¤¹¤ë¥Ó¥Ã¥È¤ËÂФ·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ëÃͤËÀßÄê¤Ç¤­¤ë¡£ MT_ST_SETBOOLEANS ¤òÍѤ¤¤ë¤È¡¢ ¥ª¥×¥·¥ç¥ó¤ÏÁªÂòŪ¤ËÀßÄꤵ¤ì¡¢ MT_ST_DEFBOOLEANS ¤òÍѤ¤¤ë¤È ÁªÂòŪ¤Ë²ò½ü¤µ¤ì¤ë¡£
¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥ª¥×¥·¥ç¥ó¤Ï MT_ST_DEFBOOLEANS ¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ë¡£ ¥¢¥¯¥Æ¥£¥Ö¤Ç¤Ê¤¤¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹ (Îã: ¥Þ¥¤¥Ê¡¼ÈÖ¹æ ¤¬ 32 ¤ä 160 ¤Î¥Ç¥Ð¥¤¥¹) ¤Ï¡¢¤½¤ì¤é¤ËÂФ¹¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥ª¥×¥·¥ç¥ó¤¬ºÇ½é¤ËÄêµÁ¤µ¤ì¤¿¤È¤­¤Ë ¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤ë¡£¥¢¥¯¥Æ¥£¥Ö¤Ë¤µ¤ì¤¿¥Ç¥Ð¥¤¥¹¤Ï¡¢ µ¯Æ°»þ¤Ë¥¢¥¯¥Æ¥£¥Ö¤Ë¤µ¤ì¤¿¥Ç¥Ð¥¤¥¹¤«¤é¡¢ ÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¥ª¥×¥·¥ç¥ó¤ò·Ñ¾µ¤¹¤ë¡£
¥Ö¡¼¥ëÃͤΥª¥×¥·¥ç¥ó¤Ï°Ê²¼¤ÎÄ̤ê:
MT_ST_BUFFER_WRITES (¥Ç¥Õ¥©¥ë¥È: ¿¿)
¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤Î½ñ¤­¹þ¤ßÁàºî¤ò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤¹¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬µ¶¤Ç¤¢¤ê¡¢¤«¤Ä¥É¥é¥¤¥Ö¤¬¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Î»þ¤Ï¡¢ ¤¹¤Ù¤Æ¤Î½ñ¤­¹þ¤ßÁàºî¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÎÇÜ¿ô¤ÎÂ礭¤µ¤Ç¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¿®ÍêÀ­¤Î¤¢¤ë¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ò½ñ¤­¹þ¤à¤¿¤á¤Ë¤Ï¡¢ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¶¤ËÀßÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
MT_ST_ASYNC_WRITES (¥Ç¥Õ¥©¥ë¥È: ¿¿)
¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¿¿¤Î»þ¤Ë¤Ï¡¢¥Ç¡¼¥¿¤¬¥É¥é¥¤¥Ð¤Î¥Ð¥Ã¥Õ¥¡¤Ë¼ý¤Þ¤ë»þ¤Ë¤Ï ¥Ç¡¼¥¿¤¬¥É¥é¥¤¥Ö¤ËžÁ÷¤µ¤ì¤ë¤Î¤òÂÔ¤¿¤º¤Ë¡¢¤¹¤°¤Ë½ñ¤­¹þ¤ßÁàºî¤¬Ê֤äÆÍè¤ë¡£ ¥Ð¥Ã¥Õ¥¡¤¬¤É¤Î¤¯¤é¤¤¶õ¤¤¤¿¤é¼¡¤Î SCSI write ¥³¥Þ¥ó¥É¤òȯ¹Ô¤Ç¤­¤ë¤«¤Ï¡¢ ½ñ¤­¹þ¤ßïçÃͤˤè¤Ã¤Æ·è¤Þ¤ë¡£ ¥É¥é¥¤¥Ö¤¬ÊÖ¤¹¤¹¤Ù¤Æ¤Î¥¨¥é¡¼¤Ï¡¢¼¡¤ÎÁàºî¤Þ¤ÇÊݸ¤µ¤ì¤ë¡£ ¿®ÍêÀ­¤Î¤¢¤ë¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ò½ñ¤­¹þ¤à¤¿¤á¤Ë¤Ï¡¢ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ïµ¶¤ËÀßÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
MT_ST_READ_AHEAD (¥Ç¥Õ¥©¥ë¥È: ¿¿)
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ ¥É¥é¥¤¥Ð¤Ï¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤ÇÆɤ߹þ¤ß¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤ÈÀèÆɤߤò¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬µ¶¤Ç¤¢¤ê¡¢¤«¤Ä¥É¥é¥¤¥Ö¤¬¸ÇÄêĹ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Î»þ¤Ï¡¢ ¤¹¤Ù¤Æ¤ÎÆɤ߹þ¤ßÁàºî¤Ï¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÎÇÜ¿ô¤ÎÂ礭¤µ¤Ç¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
MT_ST_TWO_FM (¥Ç¥Õ¥©¥ë¥È: µ¶)
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Õ¥¡¥¤¥ë¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿»þ¤Î¥É¥é¥¤¥Ð¡¼¤Î¿¶Éñ¤¤¤òÊѹ¹¤¹¤ë¡£ °ì¤Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤ò½ñ¤­¹þ¤à¤Î¤¬Ä̾ï¤ÎÆ°ºî¤Ç¤¢¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¿¿¤Î»þ¤Ë¤Ï¡¢ ¥É¥é¥¤¥Ð¡¼¤Ï 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤ò½ñ¤­¹þ¤ó¤Ç¡¢ 2 ¤Ä¤á¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤Î¤È¤³¤í¤ËÌá¤ë¡£
Ãí°Õ¡§ QIC¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Ï¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤Ë¾å½ñ¤­¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¿¿¤Ë¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ¤³¤ì¤é¤Î¥É¥é¥¤¥Ö¤Ïµ­Ï¿¥Ç¡¼¥¿¤ÎËöÈø¤Î¸¡ÃΤˡ¢ ¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤¬ 2¤Ä³¤±¤Æ¤¢¤ë¤«¤Ç¤Ï¤Ê¤¯¡¢ ¥Ö¥é¥ó¥¯¥Æ¡¼¥×¤«¤É¤¦¤«¤Î¥Æ¥¹¥È¤òÍѤ¤¤ë¡£ ¸½ºß¤Î¾¤Î¤Û¤È¤ó¤É¤Î¥É¥é¥¤¥Ö¤â¡¢µ­Ï¿¥Ç¡¼¥¿¤ÎËöÈø¤ò¸¡ÃΤ¹¤ë¡£ 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤¬É¬Íפˤʤë¤Î¤Ï¡¢ ¾¤Î¥·¥¹¥Æ¥à¤È¥Æ¡¼¥×¤ò¤ä¤ê¤È¤ê¤¹¤ë¾ì¹ç¤Ç¤¢¤ë¡£
MT_ST_DEBUGGING (¥Ç¥Õ¥©¥ë¥È: µ¶)
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¿¿¤Ë¤¹¤ë¤È¡¢ ¥É¥é¥¤¥Ð¤Ï¤¤¤í¤¤¤í¤Ê¥Ç¥Ð¥Ã¥°ÍÑ¥á¥Ã¥»¡¼¥¸¤ò½Ð¤¹¤è¤¦¤Ë¤Ê¤ë (DEBUG ¤òÈó¥¼¥í¤ËÄêµÁ¤·¤Æ¥É¥é¥¤¥Ð¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤ë»þ¤Î¤ßÍ­¸ú)¡£
MT_ST_FAST_EOM (¥Ç¥Õ¥©¥ë¥È: µ¶)
¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¿¿¤Ë¤¹¤ë¤È¡¢ MTEOM Áàºî¤¬Ä¾Àܥɥ饤¥Ö¤ËÁ÷¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¡£ Áàºî¤¬Á᤯¤Ê¤ë¤Ï¤º¤À¤¬¡¢ ¥É¥é¥¤¥Ð¤¬¸½ºß¤Î¥Õ¥¡¥¤¥ëÈÖ¹æ¤ò¸«¼º¤¦¤³¤È¤Ë¤Ê¤ë (¤³¤ì¤ÏÄ̾ï¤Ê¤é MTIOCGET ¥ê¥¯¥¨¥¹¥È¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë)¡£ MT_ST_FAST_EOM ¤¬µ¶¤Î»þ¤Ë¤Ï¡¢ ¥É¥é¥¤¥Ð¤Ï MTEOM ¥ê¥¯¥¨¥¹¥È¤Ë±þ¤¨¤ë¤È¤­¡¢ Á°Êý¤Ë¥Õ¥¡¥¤¥ë¤ò°ì¤Ä°ì¤Ä¿Ê¤á¤Æ¤¤¤¯¡£
MT_ST_AUTO_LOCK (¥Ç¥Õ¥©¥ë¥È: µ¶)
¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¿¿¤Î»þ¤Ë¤Ï¡¢ ¥Ç¥Ð¥¤¥¹¤¬¥ª¡¼¥×¥ó¤µ¤ì¤ë¤È¥É¥é¥¤¥Ö¤ÎÈ⤬¥í¥Ã¥¯¤µ¤ì¡¢ ¥¯¥í¡¼¥º¤µ¤ì¤ë¤È¥¢¥ó¥í¥Ã¥¯¤µ¤ì¤ë¡£
MT_ST_DEF_WRITES (¥Ç¥Õ¥©¥ë¥È: µ¶)
¥Æ¡¼¥×¥ª¥×¥·¥ç¥ó (¥Ö¥í¥Ã¥¯¥µ¥¤¥º¡¢¥â¡¼¥É¡¢°µ½Ì¤Ê¤É) ¤¬¤¢¤ë¥É¥é¥¤¥Ö¤Ë¥ê¥ó¥¯¤µ¤ì¤¿¥Ç¥Ð¥¤¥¹¤ÇÊѹ¹¤µ¤ì¤ë¤È¡¢ ¤½¤ÎƱ¤¸¥É¥é¥¤¥Ö¤Ë¥ê¥ó¥¯¤µ¤ì¤¿Â¾¤Î¥Ç¥Ð¥¤¥¹¤Ç¤âÊѹ¹¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë (¤½¤Î¥Ç¥Ð¥¤¥¹¤ÎÄêµÁ¤Ë¤è¤ë)¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ ¥É¥é¥¤¥Ð¤Ë¤è¤ëÊѹ¹¤ò¤¤¤Ä SCSI ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÈ¿±Ç¤µ¤»¤ë¤«¤È¡¢ ¥É¥é¥¤¥Ö¤Î¼«Æ°¸¡Ãε¡Ç½¤¬¤¤¤Ä¿®Íꤷ¤ÆÎɤ¤¤Î¤«¤òÄêµÁ¤¹¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤òµ¶¤Ë¤·¤Æ¤ª¤¯¤È¡¢ ¥Ç¥Ð¥¤¥¹¤ÎÊѹ¹¤¬¤¢¤ë¤È¥É¥é¥¤¥Ð¤Ï¤¹¤°¤Ë SCSI ¥³¥Þ¥ó¥É¤òÁ÷¤ë¡£ ¿¿¤Ë¤·¤Æ¤ª¤¯¤È¡¢ SCSI ¥³¥Þ¥ó¥É¤Ï½ñ¤­¹þ¤ß¤¬Í׵ᤵ¤ì¤ë¤Þ¤ÇÁ÷¤é¤ì¤Ê¤¤¡£ ¸å¼Ô¤Î¾ì¹ç¤Ï¡¢Æɤ߹þ¤ß¤ÎºÝ¤Ë¥É¥é¥¤¥Ö¤Î¥Õ¥¡¡¼¥à¥¦¥§¥¢¤Ë¤è¤Ã¤Æ ¥Æ¡¼¥×¹½Â¤¤Î¸¡ÃΤ¬¹Ô¤¨¤ë¡£¤Þ¤¿ SCSI ¥³¥Þ¥ó¥É¤Ï¡¢ ¥Æ¡¼¥×¤¬Àµ¤·¤¤»ØÄê¤Ë±è¤Ã¤Æ½ñ¤­¹þ¤Þ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î ³Îǧ¤Î¤¿¤á¤À¤±¤ËÍѤ¤¤é¤ì¤ë¡£
MT_ST_CAN_BSR (¥Ç¥Õ¥©¥ë¥È: µ¶)
ÀèÆɤߤò»È¤¦¤È¡¢¥Æ¡¼¥×¤ò¥¯¥í¡¼¥º¤¹¤ë¤È¤­¤Ë¡¢ ¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥Æ¡¼¥×¤òÀµ¤·¤¤°ÌÃ֤˵ÕÌᤷ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ë¡£ ¤³¤ì¤Ë¤Ï¡¢¥ì¥³¡¼¥É¤ò±Û¤¨¤ÆµÕÌᤷ¤¹¤ë SCSI ¥³¥Þ¥ó¥É¤¬ÍѤ¤¤é¤ì¤ë¡£ ¸Å¤¤¥É¥é¥¤¥Ö¤Ç¤Ï¡¢¤³¤Î¥³¥Þ¥ó¥É½èÍý¤Î¿®ÍêÀ­¤¬Ä㤤¤³¤È¤¬¤¢¤ë¤¬¡¢ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ ¥É¥é¥¤¥Ð¤Ë¤³¤Î¥³¥Þ¥ó¥É¤ÎÍøÍѤò¶Ø»ß¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ÀèÆɤߤȸÇÄêĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤òÍѤ¤¤Æ¤¤¤ë¤È¡¢ºÇ½ªÅª¤Ê·ë²Ì¤È¤·¤Æ¡¢ ¥Ç¥Ð¥¤¥¹¤Î¥¯¥í¡¼¥º»þ¤Ë¥Æ¡¼¥×¤¬Àµ¤·¤¤°ÌÃ֤ˤʤé¤Ê¤¤¤³¤È¤¬¤¢¤ë¡£ 2.6 ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢SCSI-3 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥É¥é¥¤¥Ö¤ËÂФ·¤Æ¡¢ ¤³¤ÎÃͤΥǥե©¥ë¥È¤Ï¿¿¤È¤Ê¤ë¡£
MT_ST_NO_BLKLIMS (¥Ç¥Õ¥©¥ë¥È: µ¶)
¥É¥é¥¤¥Ö¤Ë¤è¤Ã¤Æ¤Ï READ BLOCK LIMITS SCSI ¥³¥Þ¥ó¥É¤ò¼õ¤±¤Ä¤±¤Ê¤¤¤³¤È¤¬¤¢¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤ë¤È¡¢¥É¥é¥¤¥Ð¤Ï¤³¤Î¥³¥Þ¥ó¥É¤òÍѤ¤¤Ê¤¤¡£ ·çÅÀ¤Ï¡¢»ØÄꤷ¤¿¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬¥É¥é¥¤¥Ö¤Ë¼õÍý¤µ¤ì¤Æ¤·¤Þ¤¦¤È¡¢ ¥É¥é¥¤¥Ð¤Î¥³¥Þ¥ó¥ÉÁ÷¿®Á°¥Á¥§¥Ã¥¯¤¬¤Ç¤­¤Ê¤¯¤Ê¤ëÅÀ¤Ç¤¢¤ë¡£
MT_ST_CAN_PARTITIONS (¥Ç¥Õ¥©¥ë¥È: µ¶)
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢°ì¤Ä¤Î¥Æ¡¼¥×¤ËÊ£¿ô¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÃÖ¤¯¤³¤È¤ò ¥µ¥Ý¡¼¥È¤¹¤ë¤«¤É¤¦¤«¤ò·è¤á¤ë¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥É¥é¥¤¥Ö¤Ë¥ê¥ó¥¯¤µ¤ì¤¿Á´¤Æ¤Î¥Ç¥Ð¥¤¥¹¤ËŬÍѤµ¤ì¤ë¡£
MT_ST_SCSI2LOGICAL (¥Ç¥Õ¥©¥ë¥È: µ¶)
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ seek ¤ª¤è¤Ó tell Áàºî (ξ¼Ô¤È¤â MTSEEK¡¦MTIOCPOS ¥³¥Þ¥ó¥É¤òȼ¤¤¡¢ ¥Æ¡¼¥×°ÌÃÖ¤òÊѹ¹¤¹¤ë¤È¤­) ¤ÎºÝ¤Ë¡¢ SCSI-2 ¤Îɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÏÀÍý¥Ö¥í¥Ã¥¯¥¢¥É¥ì¥¹¤òÍѤ¤¤ë¤«¤É¤¦¤«¤ò ¥É¥é¥¤¥Ð¤ËÅÁ¤¨¤ë¡£ µ¶¤À¤È¥Ç¥Ð¥¤¥¹¸ÇÍ­¤Î¥¢¥É¥ì¥¹¤¬ÍѤ¤¤é¤ì¤ë¡£ ¥É¥é¥¤¥Ö¤¬ÏÀÍý¥¢¥É¥ì¥¹¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤È¤­¤Ï¡¢ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤ò¶¯¤¯´«¤á¤ë¡£ ¤³¤Î¥â¡¼¥É¤Ç¤Ï¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤â¥«¥¦¥ó¥È¤¹¤ë¤«¤é¤Ç¤¢¤ë¡£ ÏÀÍý¥Ö¥í¥Ã¥¯¥¢¥É¥ì¥¹¤·¤«¥µ¥Ý¡¼¥È¤·¤Ê¤¤¥É¥é¥¤¥Ö¤â¤¤¤¯¤Ä¤«Â¸ºß¤·¤Æ¤¤¤ë¡£
MT_ST_SYSV (¥Ç¥Õ¥©¥ë¥È: µ¶)
¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¿¿¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤Ï SystemV ¤Î¥ë¡¼¥ë¤òÍѤ¤¤ë¡£µ¶¤À¤È BSD ¤Î¥ë¡¼¥ë¤òÍѤ¤¤ë¡£ ¤³¤ì¤é¤Î¥ë¡¼¥ë´Ö¤ÎºÇ¤âÂ礭¤Ê°ã¤¤¤Ï¡¢Æɤ߹þ¤ß¤ò¹Ô¤Ã¤Æ¤¤¤¿ ¥Ç¥Ð¥¤¥¹¤¬¥¯¥í¡¼¥º¤µ¤ì¤¿¤È¤­¤Î¿¶Éñ¤¤¤Ç¤¢¤ë¡£ System V ¤Î¥ë¡¼¥ë¤Ç¤Ï¡¢¥Æ¡¼¥×¤Ï¼¡¤Î¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤ò±Û¤¨¤Æ°ÜÆ°¤¹¤ë (¥Ç¥Ð¥¤¥¹¤ÎÍøÍÑ»þ¤Ë¤³¤ì¤¬¹Ô¤ï¤ì¤Ê¤«¤Ã¤¿¾ì¹ç)¡£ BSD ¤Î¥ë¡¼¥ë¤Ç¤Ï¥Æ¡¼¥×°ÌÃÖ¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
MT_NO_WAIT (Default: false)
¨»þ¥â¡¼¥É (immediate mode; ¥³¥Þ¥ó¥É¤Î½ªÎ»¤òÂÔ¤¿¤Ê¤¤) ¤ò¡¢¤¢¤ë¼ï¤Î¥³¥Þ¥ó¥É (rewind ¤Ê¤É) ¤ËÂФ·¤ÆÍ­¸ú¤Ë¤¹¤ë¡£
Îã



struct mtop mt_cmd;

mt_cmd.mt_op = MTSETDRVBUFFER;

mt_cmd.mt_count = MT_ST_BOOLEANS |

        MT_ST_BUFFER_WRITES |

        MT_ST_ASYNC_WRITES;

ioctl(fd, MTIOCTOP, &mt_cmd);

¥Ç¥Ð¥¤¥¹¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï MT_ST_DEF_BLKSIZE ¤Ë¤è¤Ã¤ÆÀßÄê¤Ç¤­¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÌ©ÅÙ¥³¡¼¥É¤Ï MT_ST_DEFDENSITY ¤Ë¤è¤Ã¤ÆÀßÄê¤Ç¤­¤ë¡£ ¤³¤ì¤é¤Î¥Ñ¥é¥á¡¼¥¿¤ÎÃͤÏÁàºî¥³¡¼¥É¤È OR ¤·¤ÆÍ¿¤¨¤ë¡£
2.1.x °Ê¹ß¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢¥¿¥¤¥à¥¢¥¦¥ÈÃͤÎÀßÄê¤Ï¡¢ ¥µ¥Ö¥³¥Þ¥ó¥É MT_ST_SET_TIMEOUT ¤ËÉÃñ°Ì¤Î¥¿¥¤¥à¥¢¥¦¥ÈÃͤò OR ¤·¤ÆÍ¿¤¨¤ë¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤¨¤ë¡£ long ¥¿¥¤¥à¥¢¥¦¥È (´¬¤­Ìᤷ¤Ê¤É¡¢Ä¹¤¤»þ´Ö¤¬¤«¤«¤ë¥³¥Þ¥ó¥É¤ËÂФ·¤ÆÍѤ¤¤é¤ì¤ë) ¤Ï MT_ST_SET_LONG_TIMEOUT ¤ÇÀßÄê¤Ç¤­¤ë¡£ ¥«¡¼¥Í¥ë¤Î¥Ç¥Õ¥©¥ë¥È¤ÏÈó¾ï¤ËŤ¯¡¢¤É¤Î¥É¥é¥¤¥Ö¤Ç¤â À®¸ù¤·¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤¬·è¤·¤Æ¥¿¥¤¥à¥¢¥¦¥È¤·¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥É¥é¥¤¥Ð¤Ï¥¿¥¤¥à¥¢¥¦¥È¤òÂԤäƤ¤¤ë¤À¤±¤Ê¤Î¤Ë¡¢ »É¤µ¤Ã¤¿ (stuck ¤·¤¿) ¤è¤¦¤Ë¸«¤¨¤ë¤³¤È¤¬¤¢¤ë¡£¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¡¢ ÆÃÄê¤Î¥É¥é¥¤¥Ö¤ËÂФ·¤Æ¤â¤¦¾¯¤·¼ÂºÝŪ¤ÊÃͤËÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ °ì¤Ä¤Î¥Ç¥Ð¥¤¥¹¤ËÀßÄꤷ¤¿¥¿¥¤¥à¥¢¥¦¥ÈÃͤϡ¢ ¤½¤ì¤ÈƱ¤¸¥É¥é¥¤¥Ö¤Ë¥ê¥ó¥¯¤·¤¿Á´¤Æ¤Î¥Ç¥Ð¥¤¥¹¤ËŬÍѤµ¤ì¤ë¡£
2.4.19 ¤ª¤è¤Ó 2.5.43 °Ê¹ß¤Î¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ ¤³¤Î¥É¥é¥¤¥Ð¤Ï¥É¥é¥¤¥Ö¤Î¥¯¥ê¡¼¥Ë¥ó¥°¤¬É¬Íפ«¤É¤¦¤«¤ò¼¨¤¹ ¾õÂ֥ӥåȤò¥µ¥Ý¡¼¥È¤¹¤ë¡£ ¥É¥é¥¤¥Ö¤¬¥¯¥ê¡¼¥Ë¥ó¥°¾ðÊó¤òÊÖ¤µ¤»¤ë¤«¤É¤¦¤«¤Ï¡¢ MT_ST_SEL_CLN ¥µ¥Ö¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀßÄê¤Ç¤­¤ë¡£ ¤³¤ÎÃͤ¬ 0 ¤À¤È¡¢¥¯¥ê¡¼¥Ë¥ó¥°¥Ó¥Ã¥È¤Ï¾ï¤Ë 0 ¤È¤Ê¤ë¡£ Ãͤò 1 ¤Ë¤¹¤ë¤È¡¢SCSI-3 ɸ½à¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë TapeAlert ¥Ç¡¼¥¿¤¬ÍѤ¤¤é¤ì¤ë (¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤) ÃͤȤ·¤Æ¤Ï 2 ¤«¤é 17 ¤¬Í½Ì󤵤ì¤Æ¤¤¤ë¡£ Äã°Ì¦¤Î 8 ¥Ó¥Ã¥È¤¬ 18 °Ê¾å¤À¤È¡¢³ÈÄ¥¾õÂ֥ǡ¼¥¿ (extended sense data) ¤¬ÍѤ¤¤é¤ì¤ë¡£Âè 9-16 ¥Ó¥Ã¥È¤ÏÃíÌܤ¹¤Ù¤­¥Ó¥Ã¥È¤òÁªÂò¤¹¤ë¤¿¤á¤Î¥Þ¥¹¥¯¤ò»ØÄꤷ¡¢ Âè 17-23 ¥Ó¥Ã¥È¤Ïõ¤¹¤Ù¤­¥Ó¥Ã¥È¥Ñ¥¿¡¼¥ó¤ò»ØÄꤹ¤ë¡£ ¤³¤Î¥Ó¥Ã¥È¥Ñ¥¿¡¼¥ó¤¬ 0 ¤Î¤È¤­¤Ï¡¢ ¥Þ¥¹¥¯²¼¤Î¥Ó¥Ã¥È (·²) ¤¬¥¯¥ê¡¼¥Ë¥ó¥°Í×µá¤ò¼¨¤¹¡£¥Ñ¥¿¡¼¥ó¤¬ 0 ¤Ç¤Ê¤±¤ì¤Ð¡¢ ¤³¤Î¥Ñ¥¿¡¼¥ó¤¬¥Þ¥¹¥¯¸å¤Î¾õÂ֥ǡ¼¥¿¥Ð¥¤¥È¤Ë¥Þ¥Ã¥Á¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

MTIOCGET --- ¥¹¥Æ¡¼¥¿¥¹¤Î¼èÆÀ

¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ï (struct mtget *) ¤È¤¤¤¦·¿¤Î°ú¿ô¤ò¤È¤ë¡£


/* structure for MTIOCGET - mag tape get status command */

struct mtget {

    long     mt_type;

    long     mt_resid;

    /* the following registers are device dependent */

    long     mt_dsreg;

    long     mt_gstat;

    long     mt_erreg;

    /* The next two fields are not always used */

    daddr_t  mt_fileno;

    daddr_t  mt_blkno;

};

mt_type
¥Ø¥Ã¥À¥Õ¥¡¥¤¥ëÃæ¤Ë¤Ï¿¤¯¤Î mt_type ¤ÎÃͤ¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¸½¹Ô¤Î¥É¥é¥¤¥Ð¤ÏÈÆÍѤΥ¿¥¤¥×¤Ç¤¢¤ë MT_ISSCSI1 (ÈÆÍÑ SCSI-1 ¥Æ¡¼¥×) ¤ª¤è¤Ó MT_ISSCSI2 (ÈÆÍÑ SCSI-2 ¥Æ¡¼¥×) ¤Î¤ß¤òÊÖ¤¹¡£
mt_resid
¸½ºß¤Î¥Æ¡¼¥×°ÌÃÖÈֹ档
mt_dsreg
¥É¥é¥¤¥Ö¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ÈÌ©Å٤θ½ºß¤ÎÀßÄê¤òÊó¹ð¤¹¤ë (²¼°Ì 24 ¥Ó¥Ã¥È¤¬¥Ö¥í¥Ã¥¯¥µ¥¤¥º¡¢¾å°Ì 8 ¥Ó¥Ã¥È¤¬Ì©ÅÙ)¡£ ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢ MT_ST_BLKSIZE_SHIFT, MT_ST_BLKSIZE_MASK, MT_ST_DENSITY_SHIFT, MT_ST_DENSITY_MASK ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
mt_gstat
ÈÆÍѤΠ(¥Ç¥Ð¥¤¥¹¤Ë°Í¸¤·¤Ê¤¤) ¥¹¥Æ¡¼¥¿¥¹¤òÊó¹ð¤¹¤ë¡£ ¤³¤ì¤é¤Î¥¹¥Æ¡¼¥¿¥¹¥Ó¥Ã¥È¤ò¥Æ¥¹¥È¤¹¤ë¤¿¤á¤Î¥Þ¥¯¥í¤¬ ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
GMT_EOF(x): ¥Æ¡¼¥×¤Ï¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯¤Îľ¸å¤Ë°ÌÃÖ¤·¤Æ¤¤¤ë¡£ (MTSEEK Áàºî¤Î¸å¤Ç¤Ï¾ï¤Ëµ¶)
GMT_BOT(x): ¥Æ¡¼¥×¤ÏºÇ½é¤Î¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤Ë°ÌÃÖ¤·¤Æ¤¤¤ë¡£ (MTSEEK Áàºî¤Î¸å¤Ç¤Ï¾ï¤Ëµ¶)
GMT_EOT(x): ¥Æ¡¼¥×Áàºî¤Ï¥Æ¡¼¥×¤ÎʪÍýŪ¤Ê½ªÅÀ¤Ë㤷¤¿¡£
GMT_SM(x): ¥Æ¡¼¥×¤Ï¸½ºß¥»¥Ã¥È¥Þ¡¼¥¯¤Ë°ÌÃÖ¤·¤Æ¤¤¤ë¡£ (MTSEEK Áàºî¤Î¸å¤Ç¤Ï¾ï¤Ëµ¶)
GMT_EOD(x): ¥Æ¡¼¥×¤Ïµ­Ï¿¥Ç¡¼¥¿¤ÎËöÈø¤Ë°ÌÃÖ¤·¤Æ¤¤¤ë¡£
GMT_WR_PROT(x): ¥É¥é¥¤¥Ö¤Ï¥é¥¤¥È¥×¥í¥Æ¥¯¥È¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤Ï¥É¥é¥¤¥Ö¤Ë¤è¤Ã¤Æ¤Ï¡¢ ¥É¥é¥¤¥Ö¤¬¸½ºß¤Î¥á¥Ç¥£¥¢¥¿¥¤¥×¤Ø¤Î½ñ¤­¹þ¤ß¤ò ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤»ö¤ò°ÕÌ£¤¹¤ë¾ì¹ç¤â¤¢¤ë¡£
GMT_ONLINE(x): ¤â¤Ã¤È¤âºÇ¶á¤Î open(2) ¤¬¡¢¥Æ¡¼¥×¤¬Æþ¤Ã¤Æ¤¤¤ÆÁàºî¤Î½àÈ÷¤¬¤Ç¤­¤Æ¤¤¤ë¥É¥é¥¤¥Ö¤ò¸¡ÃΤ·¤¿¡£
GMT_D_6250(x), GMT_D_1600(x), GMT_D_800(x): ¤³¤Î¡ÖÈÆÍѡפΥ¹¥Æ¡¼¥¿¥¹¾ðÊó¤Ï¡¢
9-¥È¥é¥Ã¥¯ ½" ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤Î¾ì¹ç¤Ë¤Î¤ß¡¢ ¸½ºß¤ÎÌ©ÅÙ¤ÎÀßÄê¤òÊó¹ð¤¹¤ë¡£
GMT_DR_OPEN(x): ¥É¥é¥¤¥Ö¤Ë¥Æ¡¼¥×¤¬Æþ¤Ã¤Æ¤¤¤Ê¤¤¡£
GMT_IM_REP_EN(x): ¨»þÊó¹ð¥â¡¼¥É¡£ write ¥³¡¼¥ë¤¬Ìá¤Ã¤¿¤È¤­¡¢ ¥Æ¡¼¥×¤ËÂФ·¤ÆʪÍýŪ¤Ê½ñ¤­¹þ¤ß¤¬¹Ô¤ï¤ì¤¿¤«¤É¤¦¤«¤òÊݾڤǤ­¤Ê¤¤¾ì¹ç¤Ë¡¢ ¤³¤Î¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£¥É¥é¥¤¥Ð¤¬¥Ç¡¼¥¿¤ò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤»¤º¡¢ ¥É¥é¥¤¥Ö¤â¥Ç¡¼¥¿¤ò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤·¤Ê¤¤¾ì¹ç¤Ë¸Â¤Ã¤Æ¡¢ ¤³¤ÎÃÍ¤Ï 0 ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£
GMT_CLN(x): ¥É¥é¥¤¥Ö¤¬¥¯¥ê¡¼¥Ë¥ó¥°¤òÍ׵ᤷ¤Æ¤¤¤ë¡£ ¥«¡¼¥Í¥ë 2.4.19 ¤ª¤è¤Ó 2.5.43 °Ê¹ß¤Ç¼ÂÁõ¤µ¤ì¤¿¡£
mt_erreg
mt_erreg ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¤Ï°ì¤Ä¤À¤±¤Ç¡¢ ²¼°Ì¤Î 16 ¥Ó¥Ã¥È¤¬¥¨¥é¡¼¤ò¥ê¥«¥Ð¡¼¤·¤¿²ó¿ô¤Ç¤¢¤ë (MT_ST_SOFTERR_SHIFT ¤È MT_ST_SOFTERR_MASK ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë)¡£ ¥É¥é¥¤¥Ö¤ÎÊó¹ð¤¹¤ë¥¨¥é¡¼¥ê¥«¥Ð¡¼¿ô¤ÈÌ·½â¤¹¤ë¤³¤È¤¬¤¢¤ë¤Î¤Ç¡¢ ¤³¤Î¿ô¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç°Ý»ý¤µ¤ì¤Ê¤¤ (¤Û¤È¤ó¤É¤Î¥É¥é¥¤¥Ö¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥½¥Õ¥È¥¨¥é¡¼¤òÊó¹ð¤·¤Ê¤¤¡£ ¤·¤«¤·¤³¤ì¤Ï SCSI MODE SELECT ¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÊѹ¹¤Ç¤­¤ë)¡£
mt_fileno
(¥¼¥í¤«¤é¿ô¤¨¤¿) ¸½ºß¤Î¥Õ¥¡¥¤¥ëÈÖ¹æ¤òÊó¹ð¤¹¤ë¡£ ¥Õ¥¡¥¤¥ëÈֹ椬¤ï¤«¤é¤Ê¤¤»þ (Î㤨¤Ð MTBSS ¤ä MTSEEK ¤Î¸å¤Ê¤É) ¤Ë¤Ï -1 ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£
mt_blkno
¸½ºß¤Î¥Õ¥¡¥¤¥ëÃæ¤Î(¥¼¥í¤«¤é¿ô¤¨¤¿)¥Ö¥í¥Ã¥¯ÈÖ¹æ¤òÊó¹ð¤¹¤ë¡£ ¥Ö¥í¥Ã¥¯Èֹ椬¤ï¤«¤é¤Ê¤¤»þ (Î㤨¤Ð MTBSF, MTBSS, MTSEEK ¤Î¸å¤Ê¤É) ¤Ë¤Ï -1 ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£

MTIOCPOS --- ¥Æ¡¼¥×°ÌÃ֤μèÆÀ

¤³¤Î¥ê¥¯¥¨¥¹¥È¤Ï (struct mtpos *) ·¿¤Î°ú¿ô¤ò¤È¤ê¡¢¥É¥é¥¤¥Ö¤¬ÊÝ»ý¤·¤Æ¤¤¤ë¸½ºß¤Î¥Æ¡¼¥×¥Ö¥í¥Ã¥¯ÈÖ¹æ¤òÊó¹ð¤¹¤ë¡£ ¤³¤ì¤Ï¡¢MTIOCGET ¤Ë¤è¤êÊÖ¤µ¤ì¤ë mt_blkno ¤ÈƱ¤¸¤Ç¤Ï¤Ê¤¤¡£ ¥É¥é¥¤¥Ö¤Ï READ POSITION ¥³¥Þ¥ó¥É (¥Ç¥Ð¥¤¥¹¸ÇÍ­¥¢¥É¥ì¥¹) ¤ò¥µ¥Ý¡¼¥È¤¹¤ë SCSI-2¥É¥é¥¤¥Ö¤«¡¢

Tandberg ¸ß´¹¤Î SCSI-1 ¥É¥é¥¤¥Ö (Tandberg, Archive, Viper, Wangtek, ... ) ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

/* structure for MTIOCPOS - mag tape get position command */

struct mtpos {

    long mt_blkno;    /* current block number */

};

ÊÖ¤êÃÍ

EIO
Í׵ᤵ¤ì¤¿Áàºî¤¬ºÇ¸å¤Þ¤Ç¹Ô¤¨¤Ê¤«¤Ã¤¿¡£
ENOSPC
¥á¥Ç¥£¥¢¤Î½ªÅÀ¤Ë㤷¤¿¤¿¤á¡¢½ñ¤­¹þ¤ßÁàºî¤¬´°Î»¤·¤Ê¤«¤Ã¤¿¡£
ENOMEM
read(2) ¤Î¥Ð¥¤¥È¿ô¤¬¡¢¥Æ¡¼¥×¤Ë¤¢¤ë¼¡¤ÎʪÍý¥Ö¥í¥Ã¥¯¤è¤ê¾®¤µ¤¤ (2.2.18 ¤ª¤è¤Ó 2.4.0-test6 °ÊÁ°¤Ç¤Ï¡¢ÌۤäÆ;ʬ¤Î¥Ð¥¤¥È¤ò̵»ë¤·¤Æ¤¤¤¿)¡£
EACCES
½ñ¤­¹þ¤ßÊݸ¤ì¤Æ¤¤¤ë¥Æ¡¼¥×¤Ë½ñ¤­¹þ¤ß¤Þ¤¿¤Ï¾Ãµî¤ò¹Ô¤ª¤¦¤È¤·¤¿¡£ (¤³¤Î¥¨¥é¡¼¤Ï open(2) Ãæ¤Ë¤Ï¸¡ÃΤµ¤ì¤Ê¤¤¡£)
EFAULT
¥³¥Þ¥ó¥É¤Î°ú¿ô¤¬¡¢ ¸Æ¤Ó¤À¤·¥×¥í¥»¥¹¤Ë°¤·¤Æ¤¤¤Ê¤¤¥á¥â¥ê°ÌÃÖ¤ò»Ø¤·¤Æ¤¤¤ë¡£
ENXIO
¥ª¡¼¥×¥ó¤¹¤ë»þ¤Ë¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¡£
EBUSY
¥Ç¥Ð¥¤¥¹¤¬¤¹¤Ç¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤«¡¢ ¥É¥é¥¤¥Ð¤¬¥Ð¥Ã¥Õ¥¡¤ò³äÅö¤Æ¤é¤ì¤Ê¤«¤Ã¤¿¡£
EOVERFLOW
¥É¥é¥¤¥Ð¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡¤è¤êÂ礭¤¤¥µ¥¤¥º¤Î²ÄÊÑĹ¥Ö¥í¥Ã¥¯¤ò Æɤ߽ñ¤­¤·¤è¤¦¤È¤·¤¿¡£
EINVAL
ioctl(2) ¤Î°ú¿ô¤¬ÉÔÀµ¤Ç¤¢¤ë¤«¡¢Í׵ᤷ¤¿¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ÉÔÀµ¡£
ENOSYS
ÉÔÌÀ¤Ê ioctl(2)¡£
EROFS
¥É¥é¥¤¥Ö¤ËÆþ¤Ã¤Æ¤¤¤ë¥Æ¡¼¥×¤¬¥é¥¤¥È¥×¥í¥Æ¥¯¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ O_WRONLY ¤Þ¤¿¤Ï O_RDWR ¤Ç open ¤ò¹Ô¤ª¤¦¤È¤·¤¿¡£

¥Õ¥¡¥¤¥ë

/dev/st* : ¼«Æ°´¬¤­Ìᤷ¤Î SCSI ¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¡£
/dev/nst* : ´¬¤­Ìᤷ¤ò¤·¤Ê¤¤ SCSI ¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹¡£

Ãø¼Ô

¤³¤Î¥É¥é¥¤¥Ð¤Ï Dwayne Forsyth ¤Î½ñ¤¤¤¿¥É¥é¥¤¥Ð¤ò¤â¤È¤Ë¤·¤Æ Kai M:akisara (Kai.Makisara@metla.fi) ¤¬½ñ¤¤¤¿¡£ ¾¤Ë¤â²¿¿Í¤«¤Î¿Í¡¹¤¬¤³¤Î¥É¥é¥¤¥Ð¤Ë¹×¸¥¤·¤Æ¤­¤¿¡£

Ãí°Õ

1. °Û¤Ê¤ë¥·¥¹¥Æ¥à¤Ç¥Ç¡¼¥¿¤òÁê¸ß¤Ë¤ä¤ê¤È¤ê¤¹¤ë¾ì¹ç¡¢ ξÊý¤Î¥·¥¹¥Æ¥à¤ÇʪÍýŪ¤Ê¥Æ¡¼¥×¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò°ìÃפµ¤»¤ëɬÍפ¬¤¢¤ë¡£ µ¯Æ°Ä¾¸å¤Î¥É¥é¥¤¥Ö¤Î¥Ñ¥é¥á¡¼¥¿¤Ï¡¢Âç¿¿ô¤Î OS ¤¬¤½¤Î¥Ç¥Ð¥¤¥¹¤ËÂФ·¤Æ ÍѤ¤¤Æ¤¤¤ëÃͤȰۤʤäƤ¤¤ë¤³¤È¤â¤è¤¯¤¢¤ë¡£Â¿¤¯¤Î¥·¥¹¥Æ¥à¤Ï¡¢ ¥É¥é¥¤¥Ö¤¬Âбþ¤·¤Æ¤¤¤ì¤Ð²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤òÍѤ¤¤ë¡£ DAT¡¢ 8mm ¥Ø¥ê¥«¥ë¥¹¥­¥ã¥ó¥É¥é¥¤¥Ö¡¢ DLT ¤Ê¤É¤ÎºÇ¶á¤Î¥É¥é¥¤¥Ö¤Î ¤Û¤È¤ó¤É¤Ï²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤ËÂбþ¤·¤Æ¤¤¤ë¤«¤é¡£ ¤³¤ì¤é¤Î¥É¥é¥¤¥Ö¤Ï (¾¯¤Ê¤¯¤È¤â¾¤Î¥·¥¹¥Æ¥à¤È¤Î¥Ç¡¼¥¿¸ò´¹¤¬ ¤¢¤ë¾ì¹ç¤Ï)¡¢ Linux ¤Ç¤â²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ç»È¤¦¤Û¤¦¤¬ Îɤ¤¤«¤â¤·¤ì¤Ê¤¤ (¤Ä¤Þ¤ê¥·¥¹¥Æ¥à¤Îµ¯Æ°»þ¤Î¥â¡¼¥ÉÀßÄê¤Ë MTSETBLK ¤Þ¤¿¤Ï MTSETDEFBLK ¤òÍѤ¤¤ë)¡£ ·çÅÀ¤È¤·¤Æ¤Ï¡¢Èæ³ÓŪÂ礭¤Ê¥Æ¡¼¥×¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤òÍѤ¤¤Ê¤±¤ì¤Ð¡¢ SCSI ¥Ð¥¹¾å¤ÇËþ­¤Î¤¤¤¯Å¾Á÷®ÅÙ¤¬ÆÀ¤é¤ì¤Ê¤¤¤³¤È¤Ç¤¢¤ë¡£

2. ¿¤¯¤Î¥×¥í¥°¥é¥à (tar ¤Ê¤É) ¤Ç¤Ï¡¢ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¥æ¡¼¥¶¤¬¥Ö¥í¥Ã¥¯´ØÏ¢¤ÎÃͤò»ØÄê¤Ç¤­¤ë¡£ ¤³¤ÎÃͤˤè¤Ã¤Æ¥Æ¡¼¥×¾å¤ÎʪÍýŪ¤Ê¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò·èÄê¤Ç¤­¤ë¤Î¤Ï¡¢ ²ÄÊÑĹ¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ë¸Â¤é¤ì¤ë¤³¤È¤ËÃí°Õ¡£

3. SCSI ¥Æ¡¼¥×¥É¥é¥¤¥Ö¤òÍѤ¤¤ë¤Ë¤Ï¡¢´ðËܤΠSCSI ¥É¥é¥¤¥Ð¡¢ SCSI ¥¢¥À¥×¥¿¤Î¥É¥é¥¤¥Ð¡¢ SCSI ¥Æ¡¼¥×¥É¥é¥¤¥Ð¤Î¤¹¤Ù¤Æ¤¬ ¥«¡¼¥Í¥ë¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¤«¡¢¤¢¤ë¤¤¤Ï¥â¥¸¥å¡¼¥ë¤È¤·¤Æ¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë ɬÍפ¬¤¢¤ë¡£ SCSI ¥Æ¡¼¥×¥É¥é¥¤¥Ð¤¬¤Ê¤¤¤È¡¢ ¥É¥é¥¤¥Ö¤Ïǧ¼±¤µ¤ì¤ë¤¬¡¢ ¤³¤Î¥Ú¡¼¥¸¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¥Æ¡¼¥×¤Î¥µ¥Ý¡¼¥È¤ÏÍøÍѤǤ­¤Ê¤¤¡£

4. ¥É¥é¥¤¥Ð¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò¥³¥ó¥½¡¼¥ë¤È¥í¥°¤È¤Ë½ñ¤­½Ð¤¹¡£ ¥«¡¼¥Í¥ëÀßÄê¤Ç verbose SCSI messages ¤¬Í­¸ú¤Ë¤µ¤ì¤Æ¤¤¤ë¤È¡¢ SENSE ¥³¡¼¥É¤¬¼«Æ°Åª¤Ë¥Æ¥­¥¹¥È¤ËÊÑ´¹¤µ¤ì¤Æ¡¢ ¤¤¤¯¤Ä¤«¤Î¥á¥Ã¥»¡¼¥¸¤Ë½ñ¤­¤À¤µ¤ì¤ë¡£

5. ¤³¤Î¥É¥é¥¤¥Ð¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤Ï¡¢¸ÇÄê¥Ö¥í¥Ã¥¯¥â¡¼¥É¤Ê¤é read(2) ¤ä write(2) ¤Î¥Ð¥¤¥È¿ô¤¬¾®¤µ¤¯¤Æ¤âÎɤ¤¥¹¥ë¡¼¥×¥Ã¥È¤ò½Ð¤¹¡£ ľÀÜžÁ÷¤Ç¤Ï¤³¤ì¤ÏÉÔ²Äǽ¤Ê¤Î¤Ç¡¢2.6 ¥«¡¼¥Í¥ë¤Ë°Ü¹Ô¤·¤¿¤È¤­¤Ë¶Ã¤¯¤«¤â¤·¤ì¤Ê¤¤¡£ ²ò·èË¡¤È¤·¤Æ¤Ï¡¢¥½¥Õ¥È¥¦¥§¥¢¤Ë¤è¤êÂ礭¤ÊžÁ÷¤ò¹Ô¤¦¤è¤¦ÅÁ¤¨¤ë (¤¿¤¤¤Æ¤¤¤Ï¤è¤êÂ礭¤Ê¥Ö¥í¥Ã¥¯¤ò»È¤ï¤»¤ë) ¤³¤È¤Ç¤¢¤ë¡£ ¤³¤ì¤¬ÉÔ²Äǽ¤Ê¤é¡¢Ä¾ÀÜžÁ÷¤ò̵¸ú¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£

´ØÏ¢¹àÌÜ

mt(1)

¥«¡¼¥Í¥ë¥½¡¼¥¹¤Î README.st ¤ª¤è¤Ó st.txt (2.6 °Ê¹ß) ¤Î³Æ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ ¥É¥é¥¤¥Ð¤Ë´Ø¤¹¤ë¤è¤ê¿·¤·¤¤¾ðÊó¤ä¡¢ ¤½¤ÎÀßÄê²Äǽ¤ÊÈϰϤ˴ؤ¹¤ëÆâÍƤ¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£