Updated information about reproducibility and Linux kernel sr lock

This commit is contained in:
Thomas Schmitt 2025-04-24 11:46:04 +02:00
parent 972bca87ff
commit bc0c639ec8
9 changed files with 261 additions and 182 deletions

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRECORD 1 "Version 1.5.7, Apr 19, 2024"
.TH XORRECORD 1 "Version 1.5.7, Apr 24, 2025"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -544,21 +544,21 @@ while a xorrecord burn run is going on.
\fBdrive_scsi_dev_family=sr|scd|sg|default\fR
GNU/Linux specific:
.br
By default, cdrskin tries to map Linux drive addresses to /dev/sr* before
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 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
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.
.br
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
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.
.br
So for simultaneous burn runs on modern GNU/Linux it is advisable to use
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*.
/dev/sr*, but will nevertheless get used as /dev/sg*.
.TP
\fB--grow_overwriteable_iso\fR
Enable emulation of multi\-session writing on overwritable media which
@ -902,7 +902,7 @@ Thomas Schmitt <scdbackup@gmx.net>
.br
for libburnia\-project.org
.SH COPYRIGHT
Copyright (c) 2011 \- 2024 Thomas Schmitt
Copyright (c) 2011 \- 2025 Thomas Schmitt
.br
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

View File

@ -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

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 XORRECORD 1 "Version 1.5.7, Apr 19, 2024"
@c man .TH XORRECORD 1 "Version 1.5.7, Apr 24, 2025"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -753,21 +753,21 @@ while a xorrecord burn run is going on.
@cindex Drive, Linux device type, drive_scsi_dev_family
GNU/Linux specific:
@*
By default, cdrskin tries to map Linux drive addresses to /dev/sr* before
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 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
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 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
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
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*.
/dev/sr*, but will nevertheless get used as /dev/sg*.
@c man .TP
@item @minus{}@minus{}grow_overwriteable_iso
@kindex @minus{}@minus{}grow_overwriteable_iso emulate ISO 9660 multi-session
@ -1223,7 +1223,7 @@ Thomas Schmitt <scdbackup@@gmx.net>
for libburnia-project.org
@c man .SH COPYRIGHT
@section 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

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.5.7, Dec 19, 2024"
.TH XORRISO 1 "Version 1.5.7, Apr 24, 2025"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -315,7 +315,7 @@ the path of their block device or of their generic character device. E.g.
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 plagued /dev/sr
of Linux kernels since version 3 up to 5.5. But it does not yield the same
of Linux kernels since version 2.6 up to 5.5. But it does not yield the same
addresses which are used by mount(8) or by open(2) for read(2).
.br
On FreeBSD the device files have names like
@ -789,17 +789,17 @@ GNU/Linux specific:
.br
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
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 yieldied awful throughput if more than one drive was writing or reading
simultaneously.
The global lock is not applied to device files /dev/sg* and also not if
The global lock was never applied to device files /dev/sg* and also not if
the xorriso drive address is prepended by "stdio:".
.br
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
So for simultaneous burn runs on GNU/Linux 2.6 to 5.5 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*.
.br
If you decide so, consider to put the command into a global startup file like
@ -7163,7 +7163,20 @@ then it is used as time value to set the default of
"volume_date_uuid", \-volume_date "all_file_dates" to "set_to_mtime",
and \-iso_nowtime to "=$SOURCE_DATE_EPOCH".
.br
Startup files and program options can override the effect of SOURCE_DATE_EPOCH.
Startup files and program commands can override the effect of
SOURCE_DATE_EPOCH.
.br
Be aware that by default xorriso puts its version information into the
Preparer Id field of the ISO 9660 Primary Volume Descriptor. This may be
desired in order to clearly define which xorriso version has to be used for
reproduction. But it may also be undesired because a wider range of xorriso
versions shall not be excluded from an attempt of reproduction.
.br
Use command \-preparer_id with a text other than "@xorriso@" if you want to
override the default at first production time. This command may also be used
to explicitly set the preparer id as found in an ISO 9660 filesystem which
shall be reproduced by a different version of xorriso. The id can be inquired
by command \-pvd_info.
.br
.SS
.SH SEE ALSO
@ -7223,7 +7236,7 @@ Thomas Schmitt <scdbackup@gmx.net>
.br
for libburnia\-project.org
.SH COPYRIGHT
Copyright (c) 2007 \- 2024 Thomas Schmitt
Copyright (c) 2007 \- 2025 Thomas Schmitt
.br
Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of \fBxorriso\fR.

View File

@ -4,7 +4,7 @@ xorriso.texi.
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem
images with Rock Ridge extensions.
Copyright (C) 2007 - 2024 Thomas Schmitt
Copyright (C) 2007 - 2025 Thomas Schmitt
Permission is granted to distribute this text freely.
INFO-DIR-SECTION Archiving
@ -287,7 +287,7 @@ character device. E.g.
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 plagued /dev/sr of Linux kernels since version 3 up to 5.5. But
which plagued /dev/sr of Linux kernels since version 2.6 up to 5.5. 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
@ -727,16 +727,16 @@ acquire the drive.
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*.
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 yieldied 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
if the xorriso drive address is prepended by "stdio:".
So for simultaneous burn runs on GNU/Linux 2.6 to 5.5 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.
-grow_blindly "off"|predicted_nwa
@ -6055,8 +6055,19 @@ it is used as time value to set the default of -volume date "uuid", sets
-boot_image "any" "gpt_disk_guid=" to "volume_date_uuid", -volume_date
"all_file_dates" to "set_to_mtime", and -iso_nowtime to
"=$SOURCE_DATE_EPOCH".
Startup files and program options can override the effect of
Startup files and program commands can override the effect of
SOURCE_DATE_EPOCH.
Be aware that by default xorriso puts its version information into the
Preparer Id field of the ISO 9660 Primary Volume Descriptor. This may
be desired in order to clearly define which xorriso version has to be
used for reproduction. But it may also be undesired because a wider
range of xorriso versions shall not be excluded from an attempt of
reproduction.
Use command -preparer_id with a text other than "@xorriso@" if you want
to override the default at first production time. This command may also
be used to explicitly set the preparer id as found in an ISO 9660
filesystem which shall be reproduced by a different version of xorriso.
The id can be inquired by command -pvd_info.

File: xorriso.info, Node: Seealso, Next: Bugreport, Prev: Environ, Up: Top
@ -6115,7 +6126,7 @@ for libburnia-project.org
15.2 Copyright
==============
Copyright (c) 2007 - 2024 Thomas Schmitt
Copyright (c) 2007 - 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
@ -6768,55 +6779,55 @@ Node: Model3441
Node: Media6344
Node: Methods9265
Node: Drives11851
Node: Extras15803
Node: Processing21905
Node: Dialog25742
Node: Commands27431
Node: ArgSort29108
Node: AqDrive30602
Node: Loading37759
Node: Insert68512
Node: SetInsert80707
Node: Manip90943
Node: CmdFind103439
Node: Filter125299
Node: Writing129921
Node: SetWrite142415
Node: Bootable173847
Node: Jigdo206581
Node: Charset211584
Node: Exception214913
Node: DialogCtl221102
Node: Inquiry223704
Node: Navigate236399
Node: Verify248452
Node: Restore259601
Node: Emulation271808
Node: Scripting283384
Node: Frontend291639
Node: Examples301265
Node: ExDevices302443
Node: ExCreate303104
Node: ExDialog304404
Node: ExGrowing305675
Node: ExModifying306484
Node: ExBootable306994
Node: ExCharset307549
Node: ExPseudo308445
Node: ExCdrecord309372
Node: ExMkisofs309692
Node: ExGrowisofs311589
Node: ExException312742
Node: ExTime313200
Node: ExIncBackup313658
Node: ExRestore317684
Node: ExRecovery318630
Node: Files319202
Node: Environ320536
Node: Seealso321284
Node: Bugreport322084
Node: Legal322675
Node: CommandIdx323687
Node: ConceptIdx342993
Node: Extras15805
Node: Processing21907
Node: Dialog25744
Node: Commands27433
Node: ArgSort29110
Node: AqDrive30604
Node: Loading37784
Node: Insert68537
Node: SetInsert80732
Node: Manip90968
Node: CmdFind103464
Node: Filter125324
Node: Writing129946
Node: SetWrite142440
Node: Bootable173872
Node: Jigdo206606
Node: Charset211609
Node: Exception214938
Node: DialogCtl221127
Node: Inquiry223729
Node: Navigate236424
Node: Verify248477
Node: Restore259626
Node: Emulation271833
Node: Scripting283409
Node: Frontend291664
Node: Examples301290
Node: ExDevices302468
Node: ExCreate303129
Node: ExDialog304429
Node: ExGrowing305700
Node: ExModifying306509
Node: ExBootable307019
Node: ExCharset307574
Node: ExPseudo308470
Node: ExCdrecord309397
Node: ExMkisofs309717
Node: ExGrowisofs311614
Node: ExException312767
Node: ExTime313225
Node: ExIncBackup313683
Node: ExRestore317709
Node: ExRecovery318655
Node: Files319227
Node: Environ320561
Node: Seealso322000
Node: Bugreport322800
Node: Legal323391
Node: CommandIdx324403
Node: ConceptIdx343709

End Tag Table

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.5.7, Dec 19, 2024"
@c man .TH XORRISO 1 "Version 1.5.7, Apr 24, 2025"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -69,7 +69,7 @@
xorriso - creates, loads, manipulates and writes ISO 9660 filesystem images
with Rock Ridge extensions.
Copyright @copyright{} 2007 - 2024 Thomas Schmitt
Copyright @copyright{} 2007 - 2025 Thomas Schmitt
@quotation
Permission is granted to distribute this text freely.
@ -447,7 +447,7 @@ the path of their block device or of their generic character device. E.g.
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 plagued /dev/sr
of Linux kernels since version 3 up to 5.5. But it does not yield the same
of Linux kernels since version 2.6 up to 5.5. 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
@ -1014,17 +1014,17 @@ 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
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 yieldied awful throughput if more than one drive was writing or reading
simultaneously.
The global lock is not applied to device files /dev/sg* and also not if
The global lock was never 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
So for simultaneous burn runs on GNU/Linux 2.6 to 5.5 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
@ -8222,7 +8222,20 @@ then it is used as time value to set the default of
"volume_date_uuid", -volume_date "all_file_dates" to "set_to_mtime",
and -iso_nowtime to "=$SOURCE_DATE_EPOCH".
@*
Startup files and program options can override the effect of SOURCE_DATE_EPOCH.
Startup files and program commands can override the effect of
SOURCE_DATE_EPOCH.
@*
Be aware that by default xorriso puts its version information into the
Preparer Id field of the ISO 9660 Primary Volume Descriptor. This may be
desired in order to clearly define which xorriso version has to be used for
reproduction. But it may also be undesired because a wider range of xorriso
versions shall not be excluded from an attempt of reproduction.
@*
Use command -preparer_id with a text other than "@@xorriso@@" if you want to
override the default at first production time. This command may also be used
to explicitly set the preparer id as found in an ISO 9660 filesystem which
shall be reproduced by a different version of xorriso. The id can be inquired
by command -pvd_info.
@*
@sp 1
@c man .SS
@ -8330,7 +8343,7 @@ Thomas Schmitt <scdbackup@@gmx.net>
for libburnia-project.org
@c man .SH COPYRIGHT
@section Copyright
Copyright (c) 2007 - 2024 Thomas Schmitt
Copyright (c) 2007 - 2025 Thomas Schmitt
@*
Permission is granted to distribute this text freely. It shall only be
modified in sync with the technical properties of @command{xorriso}.

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISOFS 1 "Version 1.5.7, Dec 20, 2024"
.TH XORRISOFS 1 "Version 1.5.7, Apr 24, 2025"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -2308,6 +2308,7 @@ HOME is used to find xorriso and mkisofs startup files.
.br
MKISOFSRC may be used to point the program to a mkisofs startup file.
.br
.sp 1
SOURCE_DATE_EPOCH belongs to the specs of reproducible\-builds.org.
It is supposed to be either undefined or to contain a decimal number
which tells the seconds since january 1st 1970. If it contains a number,
@ -2319,6 +2320,19 @@ Further the "now" time for ISO nodes without disk source is then set to
the SOURCE_DATE_EPOCH value.
.br
Startup files and program options can override the effect of SOURCE_DATE_EPOCH.
.br
Be aware that by default xorriso puts its version information into the
Preparer Id field of the ISO 9660 Primary Volume Descriptor. This may be
desired in order to clearly define which xorriso version has to be used for
reproduction. But it may also be undesired because a wider range of xorriso
versions shall not be excluded from an attempt of reproduction.
.br
Use option \-p with a text other than "@xorriso@" if you want to
override the default at first production time. This option may also be used
to explicitly set the preparer id as found in an ISO 9660 filesystem which
shall be reproduced by a different version of xorriso. The id can be inquired
by the generic xorriso command \-pvd_info.
.br
.SS
.SH SEE ALSO
.TP
@ -2375,7 +2389,7 @@ Thomas Schmitt <scdbackup@gmx.net>
.br
for libburnia\-project.org
.SH COPYRIGHT
Copyright (c) 2011 \- 2024 Thomas Schmitt
Copyright (c) 2011 \- 2025 Thomas Schmitt
.br
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

View File

@ -3,7 +3,7 @@ xorrisofs.texi.
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
Copyright (C) 2011 - 2024 Thomas Schmitt
Copyright (C) 2011 - 2025 Thomas Schmitt
Permission is granted to distribute this text freely.
INFO-DIR-SECTION Archiving
@ -2010,16 +2010,28 @@ File: xorrisofs.info, Node: Environ, Next: Seealso, Prev: Files, Up: Top
The following environment variables influence the program behavior:
HOME is used to find xorriso and mkisofs startup files.
MKISOFSRC may be used to point the program to a mkisofs startup file.
SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org. It
is supposed to be either undefined or to contain a decimal number which
tells the seconds since january 1st 1970. If it contains a number, then
it is used as time value to set the default of --modification-date=.
--gpt_disk_guid defaults to "modification-date". The default of
--set_all_file_dates is then "set_to_mtime". Further the "now" time for
ISO nodes without disk source is then set to the SOURCE_DATE_EPOCH
value.
SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org.
It is supposed to be either undefined or to contain a decimal number
which tells the seconds since january 1st 1970. If it contains a
number, then it is used as time value to set the default of
--modification-date=. --gpt_disk_guid defaults to "modification-date".
The default of --set_all_file_dates is then "set_to_mtime". Further the
"now" time for ISO nodes without disk source is then set to the
SOURCE_DATE_EPOCH value.
Startup files and program options can override the effect of
SOURCE_DATE_EPOCH.
Be aware that by default xorriso puts its version information into the
Preparer Id field of the ISO 9660 Primary Volume Descriptor. This may
be desired in order to clearly define which xorriso version has to be
used for reproduction. But it may also be undesired because a wider
range of xorriso versions shall not be excluded from an attempt of
reproduction.
Use option -p with a text other than "@xorriso@" if you want to override
the default at first production time. This option may also be used to
explicitly set the preparer id as found in an ISO 9660 filesystem which
shall be reproduced by a different version of xorriso. The id can be
inquired by the generic xorriso command -pvd_info.

File: xorrisofs.info, Node: Seealso, Next: Bugreport, Prev: Environ, Up: Top
@ -2076,7 +2088,7 @@ for libburnia-project.org
11.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
@ -2627,10 +2639,10 @@ Node: ExIncBckAcc87277
Node: ExBootable88982
Node: Files93164
Node: Environ94259
Node: Seealso95132
Node: Bugreport95833
Node: Legal96426
Node: CommandIdx97323
Node: ConceptIdx114829
Node: Seealso95834
Node: Bugreport96535
Node: Legal97128
Node: CommandIdx98025
Node: ConceptIdx115531

End Tag Table

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 XORRISOFS 1 "Version 1.5.7, Dec 20, 2024"
@c man .TH XORRISOFS 1 "Version 1.5.7, Apr 24, 2025"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -68,7 +68,7 @@
@copying
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
Copyright @copyright{} 2011 - 2024 Thomas Schmitt
Copyright @copyright{} 2011 - 2025 Thomas Schmitt
@quotation
Permission is granted to distribute this text freely.
@ -2959,6 +2959,8 @@ HOME is used to find xorriso and mkisofs startup files.
@*
MKISOFSRC may be used to point the program to a mkisofs startup file.
@*
@sp 1
@c man .sp 1
SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org.
It is supposed to be either undefined or to contain a decimal number
which tells the seconds since january 1st 1970. If it contains a number,
@ -2970,6 +2972,19 @@ Further the "now" time for ISO nodes without disk source is then set to
the SOURCE_DATE_EPOCH value.
@*
Startup files and program options can override the effect of SOURCE_DATE_EPOCH.
@*
Be aware that by default xorriso puts its version information into the
Preparer Id field of the ISO 9660 Primary Volume Descriptor. This may be
desired in order to clearly define which xorriso version has to be used for
reproduction. But it may also be undesired because a wider range of xorriso
versions shall not be excluded from an attempt of reproduction.
@*
Use option -p with a text other than "@@xorriso@@" if you want to
override the default at first production time. This option may also be used
to explicitly set the preparer id as found in an ISO 9660 filesystem which
shall be reproduced by a different version of xorriso. The id can be inquired
by the generic xorriso command -pvd_info.
@*
@c man .SS
@c man .SH SEE ALSO
@c man .TP
@ -3072,7 +3087,7 @@ Thomas Schmitt <scdbackup@@gmx.net>
for libburnia-project.org
@c man .SH COPYRIGHT
@section 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