Updated information about reproducibility and Linux kernel sr lock
This commit is contained in:
@ -511,21 +511,22 @@ File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbose, Up:
|
||||
cause drive activities while a xorrecord burn run is going on.
|
||||
drive_scsi_dev_family=sr|scd|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
|
||||
By default, xorrecord 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 between year 2010 and 2020 all /dev/sr* shared a
|
||||
global lock which allowed only one drive to process an SCSI command
|
||||
while all others had to wait for its completion. This yielded
|
||||
awful throughput if more than one drive was writing or reading
|
||||
simultaneously.
|
||||
The global lock was never applied to device files /dev/sg* and also
|
||||
not with the system calls read(2), write(2). But ioctl(SG_IO) was
|
||||
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*.
|
||||
So for simultaneous burn runs on GNU/Linux 2.6 to 5.5 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 overwritable media
|
||||
which contain an ISO 9660 filesystem. This emulation is learned
|
||||
@ -893,7 +894,7 @@ for libburnia-project.org
|
||||
10.2 Copyright
|
||||
==============
|
||||
|
||||
Copyright (c) 2011 - 2024 Thomas Schmitt
|
||||
Copyright (c) 2011 - 2025 Thomas Schmitt
|
||||
Permission is granted to distribute this text freely. It shall only be
|
||||
modified in sync with the technical properties of xorriso. If you make
|
||||
use of the license to derive modified versions of xorriso then you are
|
||||
@ -919,15 +920,15 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
* Menu:
|
||||
|
||||
* --bdr_obs_exempt write transaction end padding: NonCdrecord.
|
||||
(line 92)
|
||||
(line 93)
|
||||
* --devices get list of drives: DriveAddr. (line 8)
|
||||
* --drive_not_exclusive use drive even if busy: NonCdrecord. (line 12)
|
||||
* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord.
|
||||
(line 37)
|
||||
(line 38)
|
||||
* --multi_if_possible apply -multi if medium is suitable: NonCdrecord.
|
||||
(line 57)
|
||||
(line 58)
|
||||
* --no_rc do not execute xorriso startup files: NonCdrecord. (line 8)
|
||||
* --obs_pad write transaction end padding: NonCdrecord. (line 81)
|
||||
* --obs_pad write transaction end padding: NonCdrecord. (line 82)
|
||||
* -atip inquire medium state: Inquire. (line 14)
|
||||
* -checkdrive inquire drive CD capabilities: Inquire. (line 11)
|
||||
* -dao explicitly set write type SAO/DAO: SetBurn. (line 172)
|
||||
@ -939,7 +940,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 98)
|
||||
* -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 99)
|
||||
* -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)
|
||||
@ -956,18 +957,18 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
* dev= address the drive to be used: DriveAddr. (line 21)
|
||||
* drive_scsi_dev_family= Linux device type to be used: NonCdrecord.
|
||||
(line 20)
|
||||
* dvd_obs= set write transaction payload size: NonCdrecord. (line 74)
|
||||
* dvd_obs= set write transaction payload size: NonCdrecord. (line 75)
|
||||
* 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 150)
|
||||
* stdio_sync= control stdio buffer: NonCdrecord. (line 151)
|
||||
* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord.
|
||||
(line 64)
|
||||
(line 65)
|
||||
* tsize= set a fixed track size: SetBurn. (line 126)
|
||||
* use_immed_bit= control use of Immed bit: NonCdrecord. (line 135)
|
||||
* use_immed_bit= control use of Immed bit: NonCdrecord. (line 136)
|
||||
* write_start_address= set block address for write start: NonCdrecord.
|
||||
(line 144)
|
||||
(line 145)
|
||||
|
||||
|
||||
File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
@ -979,10 +980,10 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Menu:
|
||||
|
||||
* Accessing drive, wait for stdin, -waiti: SetBurn. (line 113)
|
||||
* Blank, format, Immed bit, use_immed_bit=: NonCdrecord. (line 135)
|
||||
* Blank, format, Immed bit, use_immed_bit=: NonCdrecord. (line 136)
|
||||
* Bugs, reporting: Bugreport. (line 6)
|
||||
* Data track, announce, -data: SetBurn. (line 157)
|
||||
* Defect management, control, stream_recording=: NonCdrecord. (line 64)
|
||||
* Defect management, control, stream_recording=: NonCdrecord. (line 65)
|
||||
* Drive, address, dev=: DriveAddr. (line 21)
|
||||
* Drive, get list of, --devices: DriveAddr. (line 8)
|
||||
* Drive, inquire CD capabilities, -checkdrive: Inquire. (line 11)
|
||||
@ -995,11 +996,11 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Examples: Examples. (line 6)
|
||||
* Fifo, set size, fs=: SetBurn. (line 174)
|
||||
* Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord.
|
||||
(line 64)
|
||||
(line 65)
|
||||
* 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 57)
|
||||
* Media, keep appendable, --multi_if_possible: NonCdrecord. (line 58)
|
||||
* Media, keep appendable, -multi: SetBurn. (line 89)
|
||||
* Media, make re-usable, blank=: SetBurn. (line 28)
|
||||
* medium content, inquire, -toc: Inquire. (line 22)
|
||||
@ -1007,7 +1008,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 37)
|
||||
(line 38)
|
||||
* Options, overview, -help: Verbose. (line 30)
|
||||
* Overwritable media, _definiton: Standards. (line 30)
|
||||
* Padding, at end of track, padsize=: SetBurn. (line 144)
|
||||
@ -1023,23 +1024,23 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Track size, set fixed, tsize=: SetBurn. (line 126)
|
||||
* Track, _definiton: Standards. (line 13)
|
||||
* Transaction end padding, BD-R, -bdr_obs_exempt: NonCdrecord.
|
||||
(line 92)
|
||||
* Transaction end padding, enforce, -obs_pad: NonCdrecord. (line 81)
|
||||
* Transaction size, set, dvd_obs=: NonCdrecord. (line 74)
|
||||
(line 93)
|
||||
* Transaction end padding, enforce, -obs_pad: NonCdrecord. (line 82)
|
||||
* Transaction size, set, dvd_obs=: NonCdrecord. (line 75)
|
||||
* Tray, eject, -eject: SetBurn. (line 214)
|
||||
* Verbosity, increase, -v: Verbose. (line 16)
|
||||
* Verbosity, SCSI commands, -V: Verbose. (line 20)
|
||||
* Version, report, -version: Verbose. (line 8)
|
||||
* Write simulation , control, -dummy: SetBurn. (line 106)
|
||||
* Write start address, set, write_start_address=: NonCdrecord.
|
||||
(line 144)
|
||||
(line 145)
|
||||
* 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 150)
|
||||
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 151)
|
||||
* Write, drive buffer, -immed: SetBurn. (line 208)
|
||||
* Write, drive buffer, minbuf=: SetBurn. (line 205)
|
||||
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 98)
|
||||
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 99)
|
||||
* xorriso, mkisofs emulation: Xorriso. (line 6)
|
||||
* xorriso, options: Options. (line 6)
|
||||
|
||||
@ -1057,21 +1058,21 @@ Node: Inquire7618
|
||||
Node: SetBurn10487
|
||||
Node: Verbose21111
|
||||
Node: NonCdrecord22661
|
||||
Node: Examples31496
|
||||
Node: ExDevices32157
|
||||
Node: ExMedium32375
|
||||
Node: ExBlank32638
|
||||
Node: ExFormat32859
|
||||
Node: ExDeformat33377
|
||||
Node: ExIsoSingle33644
|
||||
Node: ExIsoMulti33928
|
||||
Node: ExIsoFly35672
|
||||
Node: ExAfio36864
|
||||
Node: Files37862
|
||||
Node: Seealso38418
|
||||
Node: Bugreport38781
|
||||
Node: Legal39372
|
||||
Node: CommandIdx40301
|
||||
Node: ConceptIdx44073
|
||||
Node: Examples31526
|
||||
Node: ExDevices32187
|
||||
Node: ExMedium32405
|
||||
Node: ExBlank32668
|
||||
Node: ExFormat32889
|
||||
Node: ExDeformat33407
|
||||
Node: ExIsoSingle33674
|
||||
Node: ExIsoMulti33958
|
||||
Node: ExIsoFly35702
|
||||
Node: ExAfio36894
|
||||
Node: Files37892
|
||||
Node: Seealso38448
|
||||
Node: Bugreport38811
|
||||
Node: Legal39402
|
||||
Node: CommandIdx40331
|
||||
Node: ConceptIdx44103
|
||||
|
||||
End Tag Table
|
||||
|
Reference in New Issue
Block a user