New command -scsi_dev_family, new -as cdrecord option drive_scsi_dev_family=

This commit is contained in:
2016-03-18 13:55:09 +00:00
parent e51a00f000
commit 3664cab771
19 changed files with 337 additions and 119 deletions

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.4.3, Feb 05, 2016"
@c man .TH XORRISO 1 "Version 1.4.3, Mar 18, 2016"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -434,6 +434,12 @@ the path of their block device or of their generic character device. E.g.
@*
-dev /dev/sg2
@*
By default xorriso will try to map the given address to /dev/hd* and /dev/sr*.
The command -scsi_dev_family can redirect the mapping from sr to scd or sg.
The latter does not suffer from the concurrency problems which plague /dev/sr
of Linux kernels since version 3. But it does not yield the same addresses
which are used by mount(8) or by open(2) for read(2).
@*
On FreeBSD the device files have names like
@*
-dev /dev/cd0
@ -890,6 +896,29 @@ apply. See above paragraph "Libburn drives".
An empty address string "" gives up the current output drive
without acquiring a new one. No writing is possible without an output drive.
@c man .TP
@item -scsi_dev_family "default"|"sr"|"scd"|"sg"
@kindex -scsi_dev_family choose Linux device file type
@cindex Linux device type, -scsi_dev_family
GNU/Linux specific:
@*
By default, xorriso tries to map Linux drive addresses to /dev/sr* before
they get opened for operating the drive. This coordinates well with
other use cases of optical drives, like mount(8). But since year 2010
all /dev/sr* share a global lock which allows only one drive to process
an SCSI command while all others have to wait for its completion.
This yields awful throughput if more than one drive is writing or reading
simultaneously.
The global lock is not applied to device files /dev/sg* and also not if
the xorriso drive address is prepended by "stdio:".
@*
So for simultaneous burn runs on modern GNU/Linux it is advisable to perform
-scsi_dev_family "sg" before any -dev, -indev, or -outdev. The drive addresses
may then well be given as /dev/sr* but will nevertheless get used as
the matching /dev/sg*.
@*
If you decide so, consider to put the command into a global startup file like
/etc/opt/xorriso/rc.
@c man .TP
@item -grow_blindly "off"|predicted_nwa
@kindex -grow_blindly overides next writeable address
@cindex Next writeable address, -grow_blindly
@ -3446,9 +3475,11 @@ reaches a given low percentage value.
@*
This can ease the load on operating system and drive controller and thus help
with achieving better input bandwidth if disk and burner are not on independent
controllers (like hda and hdb). It may also help with simultaneous burns on
different burners with Linux kernels like 3.16. On the other hand it increases
the risk of buffer underflow and thus reduced write speed.
controllers (like hda and hdb). It may also help with throughput problems of
simultaneous burns on different burners with Linux kernels like 3.16, if one
has reason not to fix the problem by -scsi_dev_family "sg".
On the other hand it increases the risk of buffer underflow and thus
reduced write speed.
@*
Some burners are not suitable because they
report buffer fill with granularity too coarse in size or time,