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

@ -498,6 +498,23 @@ File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up:
Only if used as first command line argument this option prevents
reading and interpretation of startup files. See section FILES
below.
drive_scsi_dev_family=sr|sdc|sg|default
GNU/Linux specific:
By default, cdrskin 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 with the system calls read(2), write(2). But ioctl(SG_IO) is
affected, which is needed to perform the SCSI commands for optical
burning.
So for simultaneous burn runs on modern GNU/Linux it is advisable
to use drive_scsi_dev_family="sg". The drive addresses may then
well be given as /dev/sr* but will nevertheless get used as
/dev/sg*.
--grow_overwriteable_iso
Enable emulation of multi-session writing on overwriteable media
which contain an ISO 9660 filesystem. This emulation is learned
@ -553,8 +570,9 @@ modesty_on_drive=parameter[:parameters]
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.
kernels like 3.16, if one has reason not to fix the problem by
drive_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, or expect their buffer to
be filled to the top before they go to full speed.
@ -851,9 +869,9 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --devices get list of drives: DriveAddr. (line 8)
* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord.
(line 12)
(line 29)
* --multi_if_possible apply -multi if medium is suitable: NonCdrecord.
(line 32)
(line 49)
* --no_rc do not execute xorriso startup files: NonCdrecord. (line 8)
* -atip inquire medium state: Inquire. (line 14)
* -checkdrive inquire drive CD capabilities: Inquire. (line 11)
@ -866,7 +884,7 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -inq inquire drive identifiers: Inquire. (line 8)
* -isosize obtain track size from ISO 9660 superblock: SetBurn.
(line 137)
* -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 56)
* -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 73)
* -msinfo retrieve multi-session info: Inquire. (line 43)
* -multi keep media appendable after burn run: SetBurn. (line 89)
* -nopad disable adding of bytes to end of track: SetBurn. (line 151)
@ -881,17 +899,19 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 113)
* blank= make media re-usabable or format media: SetBurn. (line 28)
* dev= address the drive to be used: DriveAddr. (line 21)
* dvd_obs= set write transaction payload size: NonCdrecord. (line 49)
* drive_scsi_dev_family= Linux device type to be used: NonCdrecord.
(line 12)
* dvd_obs= set write transaction payload size: NonCdrecord. (line 66)
* fs= set program fifo size: SetBurn. (line 174)
* minbuf= keep drive buffer hungry: SetBurn. (line 205)
* padsize= add bytes to end of track: SetBurn. (line 144)
* speed= set write speed: SetBurn. (line 189)
* stdio_sync= control stdio buffer: NonCdrecord. (line 98)
* stdio_sync= control stdio buffer: NonCdrecord. (line 116)
* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord.
(line 39)
(line 56)
* tsize= set a fixed track size: SetBurn. (line 126)
* write_start_address= set block address for write start: NonCdrecord.
(line 92)
(line 110)

File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -905,20 +925,22 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Accessing drive, wait for stdin, -waiti: SetBurn. (line 113)
* Bugs, reporting: Bugreport. (line 6)
* Data track, announce, -data: SetBurn. (line 157)
* Defect management, control, stream_recording=: NonCdrecord. (line 39)
* Defect management, control, stream_recording=: NonCdrecord. (line 56)
* Drive, address, dev=: DriveAddr. (line 21)
* Drive, get list of, --devices: DriveAddr. (line 8)
* Drive, inquire CD capabilities, -checkdrive: Inquire. (line 11)
* Drive, inquire identifiers, -inq: Inquire. (line 8)
* Drive, Linux device type, drive_scsi_dev_family: NonCdrecord.
(line 12)
* Eject, the tray, -eject: SetBurn. (line 211)
* Examples: Examples. (line 6)
* Fifo, set size, fs=: SetBurn. (line 174)
* Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord.
(line 39)
(line 56)
* Media types, _definiton: Standards. (line 23)
* Media, blank, blank=: SetBurn. (line 28)
* Media, format, blank=: SetBurn. (line 28)
* Media, keep appendable, --multi_if_possible: NonCdrecord. (line 32)
* Media, keep appendable, --multi_if_possible: NonCdrecord. (line 49)
* Media, keep appendable, -multi: SetBurn. (line 89)
* Media, make re-usable, blank=: SetBurn. (line 28)
* medium content, inquire, -toc: Inquire. (line 22)
@ -926,7 +948,7 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* MMC, _definiton: Standards. (line 6)
* multi-session info, retrieve, -msinfo: Inquire. (line 43)
* Multi-session, emulate ISO 9660, --grow_overwriteable_iso: NonCdrecord.
(line 12)
(line 29)
* Options, overview, -help: Verbous. (line 30)
* Overwritable media, _definiton: Standards. (line 30)
* Padding, at end of track, padsize=: SetBurn. (line 144)
@ -941,21 +963,21 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 137)
* Track size, set fixed, tsize=: SetBurn. (line 126)
* Track, _definiton: Standards. (line 13)
* Transaction size, set, dvd_obs=: NonCdrecord. (line 49)
* Transaction size, set, dvd_obs=: NonCdrecord. (line 66)
* Tray, eject, -eject: SetBurn. (line 211)
* Verbosity, increase, -v: Verbous. (line 16)
* Verbosity, SCSI commands, -V: Verbous. (line 20)
* Version, report, -version: Verbous. (line 8)
* Write simulation , control, -dummy: SetBurn. (line 106)
* Write start address, set, write_start_address=: NonCdrecord.
(line 92)
(line 110)
* Write type, SAO/DAO, -dao: SetBurn. (line 172)
* Write type, SAO/DAO, -sao: SetBurn. (line 168)
* Write type, TAO, -tao: SetBurn. (line 162)
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 98)
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 116)
* Write, drive buffer, -immed: SetBurn. (line 208)
* Write, drive buffer, minbuf=: SetBurn. (line 205)
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 56)
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 73)
* xorriso, mkisofs emulation: Xorriso. (line 6)
* xorriso, options: Options. (line 6)
@ -973,21 +995,21 @@ Node: Inquire7618
Node: SetBurn10487
Node: Verbous20938
Node: NonCdrecord22488
Node: Examples28246
Node: ExDevices28907
Node: ExMedium29125
Node: ExBlank29388
Node: ExFormat29609
Node: ExDeformat30127
Node: ExIsoSingle30394
Node: ExIsoMulti30678
Node: ExIsoFly32312
Node: ExAfio32983
Node: Files33981
Node: Seealso34537
Node: Bugreport34900
Node: Legal35491
Node: CommandIdx36420
Node: ConceptIdx39696
Node: Examples29314
Node: ExDevices29975
Node: ExMedium30193
Node: ExBlank30456
Node: ExFormat30677
Node: ExDeformat31195
Node: ExIsoSingle31462
Node: ExIsoMulti31746
Node: ExIsoFly33380
Node: ExAfio34051
Node: Files35049
Node: Seealso35605
Node: Bugreport35968
Node: Legal36559
Node: CommandIdx37488
Node: ConceptIdx40905

End Tag Table