Provided by: manpages-pt-br_4.27.0-1_all bug

NOME

       st - Dispositivo de Fita SCSI

SINOPSE

       #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);

DESCRIÇÃO

       O  controlador  st  provê  a  interface  para vários dispositivos de fita SCSI. Atualmente, o controlador
       controla todos os dispositivos detectados do tipo “acesso-sequencial”. O controlador st usa o  número  de
       dispositvo principal 9.

       Each  device  uses eight minor device numbers.  The lowermost five bits in the minor numbers are assigned
       sequentially in the order of detection.  In the 2.6 kernel, the bits above the eight lowermost  bits  are
       concatenated  to  the five lowermost bits to form the tape number.  The minor numbers can be grouped into
       two sets of four numbers: the principal (auto-rewind) minor device numbers, n, and the “no-rewind” device
       numbers, (n + 128).  Devices opened using the principal device number will be sent a REWIND command  when
       they  are  closed.   Devices  opened  using  the “no-rewind” device number will not.  (Note that using an
       auto-rewind device for positioning the tape with, for instance, mt does not lead to the  desired  result:
       the tape is rewound after the mt command and the next command starts from the beginning of the tape).

       Em  cada  grupo,  quatro  números menores estão disponíveis para definir dispositivos com características
       diferentes (tamanho do bloco, compressão, densidade, etc). Quando o sistema  inicia,  apenas  o  primeiro
       dispositivo  está disponível. Os outros três são ativados quando as características padrões são definidas
       (veja abaixo). (Alterando as constantes durante a compilação, é possível mudar o balanço entre  o  número
       máximo  de  unidades de fita e o número de número de dispositivo secundário para cada unidade. A alocação
       padrão permite controlar 32 unidades de fita. Por exemplo, é possível controlar até 64 unidades com  dois
       números secundários para diferentes opções).

       Os dispositivos são tipicamente criados por:

           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

       Não há dispositivos de bloco correspondentes.

       The  driver  uses an internal buffer that has to be large enough to hold at least one tape block.  Before
       Linux 2.1.121, the buffer is allocated as one contiguous block.   This  limits  the  block  size  to  the
       largest  contiguous  block of memory the kernel allocator can provide.  The limit is currently 128 kB for
       32-bit architectures and 256 kB for 64-bit architectures.  In newer  kernels  the  driver  allocates  the
       buffer  in  several  parts if necessary.  By default, the maximum number of parts is 16.  This means that
       the maximum block size is very large (2 MB if allocation of 16 blocks of 128 kB succeeds).

       The driver's internal buffer size is determined by a compile-time constant which can be overridden with a
       kernel startup option.  In addition to this, the driver tries to allocate a larger  temporary  buffer  at
       run time if necessary.  However, run-time allocation of large contiguous blocks of memory may fail and it
       is advisable not to rely too much on dynamic buffer allocation before Linux 2.1.121 (this applies also to
       demand-loading the driver with kerneld or kmod).

       O  controlador  não  suporta  especificamente  qualquer  marca ou modelo de unidade de fita. Depois que o
       sistema inicia, as opções do dispositivo de fita são definidas pelo firmware da unidade. Por exemplo,  se
       o  'firmware'  seleciona  o modo de blocagem fixa, a unidade de fita usará este modo. As opções podem ser
       alteradas com chamadas ioctl(2) explícitas e  mantidas  em  efeito  quando  o  dispositivo  é  fechado  e
       reaberto.  As  opções  definidas  afetam,  tanto  os  dispositivos  com auto-rebobinamento, quanto os sem
       rebobinamento.

       Opções diferentes podem ser especificadas para dispositivos diferentes, dentro de um subgrupo de  quatro.
       As  opções  fazem  efeito  quanto  o  dispositivo  é aberto. Por exemplo, o administrador do sistema pode
       definir um dispositivo que grava em blocos fixos com uma certa blocagem  e  outro  que  grava  em  blocos
       variáveis (se a unidade suportar ambos os modos).

       O  controlador suporta partições se a unidade de fita suportá-las. (As partições em fita não tem nada ver
       com as partições em disco. Uma fita particionada pode ser vista como várias fitas lógicas.) O  suporte  a
       partições  tem  que  ser  habilitado com um ioctl(2). A localização da fita é preservada em cada partição
       através das alterações na partição. A partição usada para operações subseqüentes, é  selecionada  com  um
       ioctl(2).  A  mudança  de  partição  é  executada  junto  com  a  próxima  operação para evitar movimento
       desnecessário da fita. O número máximo de partições um uma fita é definido por uma  constante  durante  a
       compilação (originalmente quatro). O controlador contém um ioctl(2) que pode formatar uma fita com uma ou
       duas partições.

       O  dispositivo /dev/tape é geralmente criado como um vínculo símbólico ou fixo para o dispositivo de fita
       padrão no sistema.

       Starting from Linux 2.6.2, the driver exports in the sysfs directory  /sys/class/scsi_tape  the  attached
       devices and some parameters assigned to the devices.

   Data transfer
       O  controlador  suporta  operações  nos modos de blocagem fixa e variável (se suportado pela unidade). No
       modo de blocagem fixa a unidade grava blocos de tamanho específico e o tamanho do bloco não é  dependente
       do  contador de bytes gravados, usado pelas chamadas do sistema. No modo de blocagem variável, um bloco é
       gravado para cada chamada de gravação e o contador de bytes determina o tamanho do bloco. Observe que  os
       blocos  na  fita,  não  contém  quaisquer  informações  sobre  o  mode  de gravação. Durante a leitura, o
       importante é usar comandos que aceitam o tamanho dos blocos gravados.

       In variable-block mode the read byte count does not have to match the tape block size  exactly.   If  the
       byte  count  is  larger than the next block on tape, the driver returns the data and the function returns
       the actual block size.  If the block size is larger than the byte count, an error is returned.

       In fixed-block mode the read byte counts can be arbitrary if buffering is enabled, or a multiple  of  the
       tape block size if buffering is disabled.  Before Linux 2.1.121 allow writes with arbitrary byte count if
       buffering  is enabled.  In all other cases (before Linux 2.1.121 with buffering disabled or newer kernel)
       the write byte count must be a multiple of the tape block size.

       In Linux 2.6, the driver tries to use direct transfers between the user buffer and the device.   If  this
       is  not  possible,  the  driver's  internal  buffer  is used.  The reasons for not using direct transfers
       include improper alignment of the user buffer (default is 512 bytes but this can be changed  by  the  HBA
       driver), one or more pages of the user buffer not reachable by the SCSI adapter, and so on.

       Um  marcador  de arquivo é automáticamente gravado na fita se a última operação na fita antes de fechá-la
       foi uma gravação.

       Quando um marcador de arquivo é encontrado enquanto lendo, a seguinte é comcluído.  Se  houver  dados  no
       'buffer'  quando  um  marcador  de  arquivo é encontrado, estes dados serão retornados. A próxima leitura
       retornará zero bytes. A leitura seguinte retornará os dados do próximo arquivo. O fim dos dados  gravados
       é  sinalizado pelo retorno de zero bytes durante duas leituras consecutivas. A terceira leitura retornará
       um erro.

   Ioctls
       O controlador suporta três requisitos ioctl(2). Os requisitos não reconhecidos pelo  controlador  st  são
       passados para o controlador SCSI. As definições abaixo são do /usr/include/linux/mtio.h:

   MTIOCTOP  executa uma operação de fita
       Este  requisito  leva  um  argumento  do  tipo  (struct  mtop *). Nem todos as unidades suportam todas as
       operações. O controlador retorna um erro EIO se a unidade rejeitar uma operação.

           /* Structure for MTIOCTOP - mag tape op command: */
           struct mtop {
               short   mt_op;       /* operations defined below */
               int     mt_count;    /* how many of them */
           };

       Operações de fita magnéticas para uso normal:

       MTBSF  Retrocede espaços sobre mt_count marcadores de arquivos.

       MTBSFM Retrocede espaços sobre mt_count marcadores de arquivos. Reposiciona a fita  no  lado  EOT  último
              marcador de arquivo.

       MTBSR  Retrocede espaços sobre mt_count registros (blocos da fita).

       MTBSS  Retrocede espaços sobre mt_count setmarks.

       MTCOMPRESSION
              Habilita  compressão  de  dados  se  mt_count não for zero e desabilita a compressão se mt_count é
              zero. Este comando usa o MODO page 15 suportado pela maioria das fitas DATs.

       MTEOM  Vai para o final da mídia gravada (para acrescentar arquivos).

       MTERASE
              Erase tape.  With Linux 2.6, short erase (mark tape empty) is performed if the argument  is  zero.
              Otherwise, long erase (erase all) is done.

       MTFSF  Avança mt_count marcadores de arquivos.

       MTFSFM Avança  mt_count  marcadores  de  arquivos.  Reposiciona  a  fita no lado BOT do último marcado de
              arquivo.

       MTFSR  Avança espaços sobre mt_count registro (blocos da fita).

       MTFSS  Avança espaços sobre mt_count setmarks.

       MTLOAD Executa o comando load SCSI. Um caso especial está disponível para alguns carregadores automáticos
              HP. Se mt_count é a constante MT_ST_HPLOADER_OFFSET mais um número, o número  é  enviando  para  a
              unidade controlar a carga automática.

       MTLOCK Bloqueia a porta da unidade de fita.

       MTMKPART
              Format  the  tape  into  one  or  two  partitions.   If mt_count is positive, it gives the size of
              partition 1 and partition 0 contains the rest of the tape.  If  mt_count  is  zero,  the  tape  is
              formatted into one partition.  From Linux 4.6, a negative mt_count specifies the size of partition
              0  and  the rest of the tape contains partition 1.  The physical ordering of partitions depends on
              the drive.  This command is not allowed for a drive unless the partition support  is  enabled  for
              the drive (see MT_ST_CAN_PARTITIONS below).

       MTNOP  Nenhuma  operação—descarrega  o  'buffer' do controlador. Ele pode ser usado antes de ler o estado
              com MTIOCGET.

       MTOFFL Rebobina a fita e coloca a unidade fora de linha.

       MTRESET
              Reinicia a unidade.

       MTRETEN
              Retensiona a fita.

       MTREW  Rebobina.

       MTSEEK Posiciona no número de bloco especificado em mt_count. Esta operação requer uma unidade SCSI-2 que
              suporte o comando LOCATE (endereço de dispositivo específico) ou uma  unidade  Tandberg-compatível
              SCSI-1  (Tandberg,  Archive Viper, Wangtek, ... ). O número do bloco deverá ser aquele previamente
              retornado pelo MTIOCPOS se o endereço específico do dispositivo foi usado.

       MTSETBLK
              Define o tamanho do bloco para o valor especificado em mt_count. Um tamanho de zero define o  modo
              de bloco de tamanho variável.

       MTSETDENSITY
              Define  a  densidade  para o código em mt_count. O código de densidade suportado pela unidade pode
              ser encontrado na documentação da unidade.

       MTSETPART
              A partição é alternada para mt_count. As partições são numeradas a partir de  zero.  Este  comando
              não  é  permitido  em  uma  unidade,  a  menos  que  o suporte a partições esteja habilitado (veja
              MT_ST_CAN_PARTITIONS abaixo).

       MTUNLOAD
              Executa o comando SCSI unload (não ejeta a fita).

       MTUNLOCK
              Desbloqueia a porta da unidade de fita.

       MTWEOF Grava mt_count marcadores de arquivos.

       MTWSM  Grava mt_count setmarks.

       Operações de Fita Magnética para configurar opções de dispositivo (superusuário):

       MTSETDRVBUFFER
              Set various drive and driver options according to bits encoded in mt_count.  These consist of  the
              drive's  buffering mode, a set of Boolean driver options, the buffer write threshold, defaults for
              the block size and density, and timeouts (only since Linux 2.1).  A single  operation  can  affect
              only one item in the list below (the Booleans counted as one item.)

              Um valor zero nos 4 bits de alta órdem será usado para definir o modo de buferização da unidade de
              fita. Os modos de buferização são:

              0      A  unidade  não informará o estado GOOD nos comandos de gravação até que os blocos de dados
                     sejam gravados na mídia.

              1      A unidade informará o estado GOOD nos comandos de gravação assim que todos os dados  tenham
                     sido transferidos do 'buffer' interno da unidade.

              2      A  unidade  pode  informar  o  estado GOOD nos comandos de gravação assim que: (a) os dados
                     foram transferido do 'buffer' interno da unidade e (b)  todos  os  dados  em  'buffer's  de
                     inicializadores diferentes foram gravados com sucesso para a mídia.

              To   control   the   write   threshold   the   value   in   mt_count  must  include  the  constant
              MT_ST_WRITE_THRESHOLD bitwise ORed with a block count in the low 28 bits.  The block count  refers
              to  1024-byte  blocks,  not  the physical block size on the tape.  The threshold cannot exceed the
              driver's internal buffer size (see DESCRIPTION, above).

              To set and clear the Boolean options the value in mt_count  must  include  one  of  the  constants
              MT_ST_BOOLEANS,  MT_ST_SETBOOLEANS,  MT_ST_CLEARBOOLEANS,  or  MT_ST_DEFBOOLEANS bitwise ORed with
              whatever combination of the following options is desired.  Using MT_ST_BOOLEANS the options can be
              set to the values defined in the corresponding bits.  With MT_ST_SETBOOLEANS the  options  can  be
              selectively set and with MT_ST_DEFBOOLEANS selectively cleared.

              As  opções  padrões  para  um  dispositivo  de  fita podem ser definidas com MT_ST_DEFBOOLEANS. Um
              dispositivo de fita inativo (i.e., um dispositivo com número menor 32 ou 160) é ativado quando  as
              opções  padrões  para  ele  são  definidas  na  primeira vez. Um dispositivo ativado herda daquele
              ativado na inicialização as opções não definidas explicitamente.

              As opções Booleanas são:

              MT_ST_BUFFER_WRITES  (Padrão: true)
                     Coloca no 'buffer' todas as operações de gravação usando a blocagem fixa. Se esta  opção  é
                     false  e a unidade usa um bloco de tamanho fixo, então todas as operações de gravação devem
                     usar um múltiplo do tamanho do bloco. Esta opção deve ser definida como falsa para se obter
                     uma gravação confiável em sistemas multi-volumes.

              MT_ST_ASYNC_WRITES  (Padrão: true)
                     Quando esta opção é verdadejra, a operação de gravação retorna  imediatamente  sem  esperar
                     que  os  dados  sejam  transferidos  para  a  unidade se os dados estão ajustados dentro do
                     'buffer' da unidade. O limite de gravação determina quando o 'buffer' está cheio mas depois
                     um novo comando de escrita SCSI é usado.  Quaisquer  erros  relatados  pela  unidade  serão
                     retidos  até  a próxima operação. Esta opção deve ser definida como falsa para se obter uma
                     gravação confiável em sistemas multi-volumes.

              MT_ST_READ_AHEAD  (Padrão: true)
                     Esta opção faz o controlador prover leitura buferizada e leitura a frente em blocos  fixos.
                     Se  esta  opção  é  false  e  a unidade usa um tamanho de bloco fixo, todas as operações de
                     leitura devem ser múltiplos do tamanho do bloco.

              MT_ST_TWO_FM  (Padrão: false)
                     Esta opção modifica as características do controlador quando um arquivo é fechado.  A  ação
                     normal  é  gravar  uma marca de arquivo simples. Se esta opção é true o controlador gravará
                     duas marcas de arquivo e um caracter de retrocesso sobre a última marca.

                     Nota: Esta opção não pode ser true para unidades de fita QIC uma vez  que  elas  não  podem
                     sobrescrever a marca de arquivo. Estas unidades detetam o final dos dados gravados testando
                     se  a  fita  está em branco. A maioria das unidades atuais também detetam o final dos dados
                     gravados e o uso das duas marcas de arquivo são necessária apenas quando há intercambio  de
                     fita com outros sistemas.

              MT_ST_DEBUGGING  (Padrão: false)
                     Esta  opção ativa várias mensagens de depuração de erros do controlador (só tem efeito se o
                     controlador foi compilado com DEBUG definido com valor diferente de zero).

              MT_ST_FAST_EOM  (Padrão: false)
                     This option causes the MTEOM operation to  be  sent  directly  to  the  drive,  potentially
                     speeding  up  the operation but causing the driver to lose track of the current file number
                     normally returned by the MTIOCGET request.  If MT_ST_FAST_EOM is  false,  the  driver  will
                     respond to an MTEOM request by forward spacing over files.

              MT_ST_AUTO_LOCK (Padrão: false)
                     When  this  option  is  true,  the  drive door is locked when the device file is opened and
                     unlocked when it is closed.

              MT_ST_DEF_WRITES (Padrão: false)
                     As opções da fita (tamanho do bloco, modo, compressão, etc.) pode variar quando muda-se  de
                     um  dispositivo vinculado a uma unidade, para outro vinculado a mesma unidade dependendo de
                     como os dispositivos estão definidos. Esta opção define quando  as  mudanças  são  forçadas
                     pelo controlador através de comandos SCSI e quando a unidade auto-deteta que as capacidades
                     são  confiáveis.  Se esta opção é false, o controlador envia os comandos SCSI imediatamente
                     quando o dispositivo é alterado. Se a opção é true, os comandos SCSI não são  enviados  até
                     que  uma  gravação  seja  requisitada.  Neste caso o firmware da unidade tem permissão para
                     detetar a estrutura da fita durante a leitura e os comandos SCSI  são  usados  apenas  para
                     certificar-se que a fita é gravada de acordo com a especificação correta.

              MT_ST_CAN_BSR (Padrão: false)
                     When read-ahead is used, the tape must sometimes be spaced backward to the correct position
                     when  the  device is closed and the SCSI command to space backward over records is used for
                     this purpose.  Some older drives can't process this command reliably and this option can be
                     used to instruct the driver not  to  use  the  command.   The  end  result  is  that,  with
                     read-ahead  and  fixed-block  mode,  the tape may not be correctly positioned within a file
                     when the device is closed.  With Linux 2.6, the  default  is  true  for  drives  supporting
                     SCSI-3.

              MT_ST_NO_BLKLIMS (Padrão: false)
                     Algumas  unidades  não  aceitam  o  comando  SCSI  READ  BLOCK  LIMITS.  Se  ele é usado, o
                     controlador não usá-o. A desvantagem é que o controlador não pode checar antes de enviar os
                     comandos se o tamanho de bloco selecionado é aceitável pela unidade de fita.

              MT_ST_CAN_PARTITIONS (Padrão: false)
                     Esta opção habilita o suporte a várias partições em uma fita.  Ela  aplica-se  a  todos  os
                     dispositivos vinculados à unidade.

              MT_ST_SCSI2LOGICAL (Padrão: false)
                     Esta  opção  instrui  o  controlador  a  usar o endereço lógico de bloco definido no padrão
                     SCSI-2 durante as operações de procura e ( com os comandos  MTSEEK  e  MTIOCPOS  e  durante
                     alterações  na  partição).  Do  contrário  o  endereço específico do dispositivo é usado. É
                     altamente recomendável definir esta opção se a unidade suporta os endereços lógicos, porque
                     eles  também  contam  as  marcas  de  arquivo.  Há  algumas  unidades  que  só  suportam  o
                     endereçamento lógico de bloco.

              MT_ST_SYSV (Padrão: false)
                     Quando  esta  opção  é  habilitada,  o  dispositivo de fita usa a semântica do System V. Do
                     contrário a do BSD é usada. A diferença  mais  importante  entre  as  semânticas  é  o  que
                     acontece quando um dispositivo usado para leitura é fechado: na semântica System V a fita é
                     avançada para a próxima marca de arquivo se a mesma não foi encontrada durante a utilização
                     do dispositivo. Na semântica BSD a posição da fita não se altera.

              MT_ST_NO_BLKLIMS (Padrão: false)
                     Enables  immediate  mode  (i.e.,  don't  wait  for the command to finish) for some commands
                     (e.g., rewind).

              An example:

                  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);

              O tamanho padrão do bloco para  um  dispositivo  pode  ser  definido  com  MT_ST_DEF_BLKSIZE  e  a
              densidade padrão com MT_ST_DEFDENSITY. Uma operação OU é executada entre os valores dos parâmetros
              e o código da operação.

              With  Linux  2.1.x  and later, the timeout values can be set with the subcommand MT_ST_SET_TIMEOUT
              ORed with the timeout in seconds.  The long timeout (used for rewinds and other commands that  may
              take  a  long  time) can be set with MT_ST_SET_LONG_TIMEOUT.  The kernel defaults are very long to
              make sure that a successful command is not timed out with any drive.  Because of this, the  driver
              may seem stuck even if it is only waiting for the timeout.  These commands can be used to set more
              practical  values  for  a  specific  drive.  The timeouts set for one device apply for all devices
              linked to the same drive.

              Starting from Linux 2.4.19 and Linux 2.5.43, the driver supports  a  status  bit  which  indicates
              whether  the drive requests cleaning.  The method used by the drive to return cleaning information
              is set using the MT_ST_SEL_CLN subcommand.  If the value is zero, the cleaning bit is always zero.
              If the value is one, the  TapeAlert  data  defined  in  the  SCSI-3  standard  is  used  (not  yet
              implemented).   Values  2–17  are  reserved.   If  the  lowest eight bits are >= 18, bits from the
              extended sense data are used.  The bits 9–16 specify a mask to select the bits to look at and  the
              bits  17–23  specify  the  bit  pattern to look for.  If the bit pattern is zero, one or more bits
              under the mask indicate the cleaning request.  If the pattern is nonzero, the pattern  must  match
              the masked sense data byte.

   MTIOCGET  obtém o estado
       Esta requisição leva um argumento do tipo (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
              Arquivo  cabeçalho define vários valores para mt_type, mas o controlador atual só informa os tipos
              genéricos MT_ISSCSI (Fita SCSI-1 genérica) e MT_ISSCSI (Fita SCSI-2 genérica).

       mt_resid
              contém o número da partição da fita atual.

       mt_dsreg
              reports the drive's current settings for block size (in the low 24 bits) and density (in the  high
              8    bits).     These    fields    are   defined   by   MT_ST_BLKSIZE_SHIFT,   MT_ST_BLKSIZE_MASK,
              MT_ST_DENSITY_SHIFT, and MT_ST_DENSITY_MASK.

       mt_gstat
              dá informações genéricas do estado (independente  do  dispositivo).  O  arquivo  cabeçalho  define
              macros para testar estes bits de estado:

              GMT_EOF(x)
                     A fita está posicionada após a marca de arquivo (sempre false após uma operação MTSEEK).

              GMT_BOT(x)
                     A  fita  está  posicionada  no  inicio  do primeiro arquivo (sempre false após uma operação
                     MTSEEK).

              GMT_EOT(x)
                     Uma operação da fita alcançou o final físico da Fita.

              GMT_SM(x)
                     A fita está posicionada na setmark (sempre false após uma operação MTSEEK).

              GMT_EOD(x)
                     A fita está posicionada no final do dado gravado.

              GMT_WR_PROT(x)
                     A unidade está protegida contra gravação. Para algumas unidades isto pode significar que  a
                     mesma não suporta gravação no tipo mídia atual.

              GMT_ONLINE(x)
                     O último open(2) encontrou uma fita na unidade e pronta para operação.

              GMT_D_6250(x)
              GMT_D_1600(x)
              GMT_D_800(x)
                     Reporta  informações de estado “genéricas” sobre a densidade atual definida em 9-track enas
                     para unidades de fita de ½".

              GMT_DR_OPEN(x)
                     A unidade não contém uma fita.

              GMT_IM_REP_EN(x)
                     Modo de Informação Imediata. Este  bit  é  definido  se  não  há  garantias  que  os  foram
                     fisicamente  gravados  na  fita  quando  a chamada de gravação retorna. Ele é definido zero
                     apenas quando o controlador não buferiza os dados  e  a  unidade  está  definida  para  não
                     colocar os dados no 'buffer'.

              GMT_CLN(x)
                     The drive has requested cleaning.  Implemented since Linux 2.4.19 and Linux 2.5.43.

       mt_erreg
              O  único  campo definido em mt_erreg é o contador de erros recuperados, nos 16 bits de baixa órdem
              (como definido por MT_ST_SOFTERR_SHIFT e MT_ST_SOFTERR_MASK). Devido a  inconsistências  na  forma
              como as unidades informam os erros recuperados, o contador freqüentemente não é mantido (a maioria
              das  unidades não informam por padrão erros de programas, mas isto pode ser alterado com o comando
              SCSI MODE SELECT).

       mt_fileno
              Informa o número atual do arquivo (base-zero). Este valor é  -1  quando  o  número  do  arquivo  é
              desconhecido (por exemplo, depois de MTBSS ou MTSEEK).

       mt_blkno
              Informa o número de bloco (base-zero) do arquivo atual. Este valor é -1 quando o número do bloco é
              desconhecido (por exemplo, depois de MTBSF, MTBSS, ou MTSEEK).

   MTIOCPOS  obtém a posição da fita
       This  request  takes  an  argument of type (struct mtpos *) and reports the drive's notion of the current
       tape block number, which is not the same as mt_blkno returned by MTIOCGET.  This drive must be  a  SCSI-2
       drive  that supports the READ POSITION command (device-specific address)  or a Tandberg-compatible SCSI-1
       drive (Tandberg, Archive Viper, Wangtek, ... ).

           /* estrutura para MTIOCPOS - comando para obter a posição da fita */
           struct mtpos {
               long mt_blkno;    /* número do bloco atual */
           };

VALOR DE RETORNO

       EACCES Tentando gravar ou apagar um fita com proteção a gravação. (Este erro não é  detetado  durante  um
              open(2).)

       EBUSY  O dispositivo já está em uso ou o controlador não conseguiu alocar um 'buffer'.

       EFAULT Os parâmetros do comando apontam para memória que não pertencem ao processo chamado.

       EINVAL Um ioctl(2) tem um argumento ilegal ou o tamanho do bloco requisita é ilegal.

       EIO    A operação solicitada não pode ser concluida.

       ENOMEM The  byte  count  in  read(2)  is smaller than the next physical block on the tape.  (Before Linux
              2.2.18 and Linux 2.4.0 the extra bytes have been silently ignored.)

       ENOSPC Uma operação de gravação não pode ser concluida porque a fita chegou no final físico.

       ENOSYS ioctl(2) desconhecido.

       ENXIO  Durante a abertura o dispositivo de fita não existe.

       EOVERFLOW
              Tentou ler ou gravar um bloco de tamanho variável que  é  maior  do  que  o  'buffer'  interno  da
              unidade.

       EROFS  Tentativa de abrir com O_WRONLY ou O_RDWR quando a fita na unidade está protegida contra gravação.

ARQUIVOS

       /dev/st*
              Dispositivo de fita SCSI com auto-rebobinamento

       /dev/nst*
              Dispositivo de fita SCSI sem auto-rebobinamento

NOTAS

       •  When exchanging data between systems, both systems have to agree on the physical tape block size.  The
          parameters  of  a  drive  after  startup  are often not the ones most operating systems use with these
          devices.  Most systems use drives in variable-block mode  if  the  drive  supports  that  mode.   This
          applies  to  most  modern  drives,  including  DATs,  8mm  helical  scan drives, DLTs, etc.  It may be
          advisable to use these drives in variable-block mode also in Linux (i.e., use MTSETBLK or  MTSETDEFBLK
          at system startup to set the mode), at least when exchanging data with a foreign system.  The drawback
          of this is that a fairly large tape block size has to be used to get acceptable data transfer rates on
          the SCSI bus.

       •  Muitos  programas  (por  exemplo, tar(1)) permitem ao usuário especificar o fator de bloco na linha de
          comando. Note que isto determina o tamanho do bloco físico na fita apenas no modo de bloco variável.

       •  Para poder usar unidades SCSI, o controlador SCSI básico, o controlador da placa SCSI e o  controlador
          para  fita  SCSI deve ser compilado no Linux ou carregado como módulo. Se o controlador para fita SCSI
          não estiver presente, a  unidade  é  reconhecida,  mas  o  suporte  descrito  nesta  página  não  está
          disponível.

       •  O  controlador grava as mensagens de erro no console/log. Os códigos escritos em algumas mensagens são
          automáticamente traduzidos para texto se a exibição das mensagens SCSI está habilitada  na  compilação
          do Linux.

       •  The  driver's  internal  buffering  allows good throughput in fixed-block mode also with small read(2)
          and write(2)  byte counts.  With direct transfers this is not possible and may cause a  surprise  when
          moving to the 2.6 kernel.  The solution is to tell the software to use larger transfers (often telling
          it to use larger blocks).  If this is not possible, direct transfers can be disabled.

VEJA TAMBÉM

       mt(1)

       The  file  drivers/scsi/README.st or Documentation/scsi/st.txt (kernel >= 2.6) in the Linux kernel source
       tree contains the most recent information about the driver and its configuration possibilities

TRADUÇÃO

       A tradução  para  português  brasileiro  desta  página  man  foi  criada  por  Fábio  Henrique  F.  Silva
       <fabiohfs@mail.com> e Carlos Augusto Horylka <horylka@conectiva.com.br>

       Esta  tradução  é  uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as
       condições de direitos autorais.  Nenhuma responsabilidade é aceita.

       Se você encontrar algum erro na tradução  desta  página  de  manual,  envie  um  e-mail  para  a lista de
       discussão de tradutores.

Linux man-pages 6.9.1                              2 maio 2024                                             st(4)