]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r317848:
authorken <ken@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 8 May 2017 17:55:51 +0000 (17:55 +0000)
committerken <ken@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 8 May 2017 17:55:51 +0000 (17:55 +0000)
commitf91b389c41758007893e9828137ab19f74e0234c
treec2478132dc7f57d18d76e2164891e5fe625fdf33
parent803f867a2c134bb3b1c30412d7994cfde8687d57
MFC r317848:

  Add basic programmable early warning error injection to the sa(4) driver.

  This will help application developers simulate end of tape conditions.

  To inject an error in sa0:

  sysctl kern.cam.sa.0.inject_eom=1

  This will return the next read or write request queued with 0 bytes
  written.  Any subsequent writes or reads will go along as usual.

  This will also cause the early warning position flag to get set
  for the next position query.  So, 'mt status' will show the BPEW
  (Beyond Programmable Early Warning) flag on the first query after
  an error injection.  After that, the position flags will be as they
  are in the underlying tape drive.

  Also, update the sa(4) man page to describe tape parameters,
  which can be set via 'mt param'.

  sys/cam/scsi/scsi_sa.c:
   In saregister(), create the inject_eom sysctl variable.

   In sastart(), check to see whether inject_eom is set.  If
   so, return the read or write with 0 bytes written to
   indicate EOM.  Set the set_pews_status flag so that we
   fake PEWS status in the next position call for reads, and the
   next 3 calls for writes.  This allows the user to see the BPEW
   flag one time via 'mt status'.

   In sagetpos(), check the set_pews_status flag and fake
   PEWS status and decrement the counter if it is set.

  share/man/man4/sa.4:
   Document the inject_eom sysctl variable.

   Document all of the parameters currently supported via
   'mt param'.

  usr.bin/mt/mt.1:
   Point the user to the sa(4) man page for more details on
   supported parameters.

Sponsored by: Spectra Logic

git-svn-id: svn://svn.freebsd.org/base/stable/10@317964 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
share/man/man4/sa.4
sys/cam/scsi/scsi_sa.c
usr.bin/mt/mt.1