bugfix: SA driver will unwind when close device even with SA_MODE_NOREWIND

Kenneth D. Merry ken at FreeBSD.ORG
Thu Feb 5 22:38:29 UTC 2015


On Fri, Jan 30, 2015 at 13:55:17 +0800, Peter Xu wrote:
> Hi,
> 
> In BSD system, when tape devices are discovered, CAM will create specific
> /dev/saX.[0-3] automatically. Here when we does not the tape to auto rewind
> when closing the device, we should access /dev/saX.1 (which means we are
> using SA_MODE_NOREWIND mode).
> 
> Found one bug that tape will auto rewind even accessing /dev/saX.1.

That isn't a bug, it is the way things are supposed to work.  The minor
device terminology in the man page may be a little confusing.

The man page says:

FILES
     /dev/[n][e]sa[0-9]  general form:
     /dev/sa0            Rewind on close
     /dev/nsa0           No rewind on close
     /dev/esa0           Eject on close (if capable)
     /dev/sa0.ctl        Control mode device (to examine state while another
                         program is accessing the device, e.g.).

The naming convention carries over to the /dev/[n][e]sa[0-9].[0-3] devices.

If you want a non-rewound device, you would need to use /dev/nsaX, or
/dev/nsaX.[0-3].  If you want the tape to be ejected, you would use the
/dev/esaX.[0-3] device.

The idea behind the .[0-3] devices was that they were to be for different
possible tape drive densities.  If you look at the output of 'mt status',
it has output entries that could be filled with possible densities, but
that aren't actually used.

Just as the entries in 'mt status' aren't used, the .[0-3] entries are not
used.  There is no difference between those entries and the standard device
names.

I've considered removing the .[0-3] entries, since they are primarily just
confusing for anyone who sees them.  If anyone thinks we should keep them,
let me know.  Otherwise I may just take them out with the upcoming round of
sa(4) driver changes.

There are modern tape drives (e.g. IBM TS1140, TS1150) that are capable
of writing at multiple densities, but I don't know that we need to
necessarily let the user switch density by using a different device.
You can also do a 'mt density X' and switch that way.

Ken
-- 
Kenneth Merry
ken at FreeBSD.ORG


More information about the freebsd-scsi mailing list