[Pkg-libburnia-devel] Bug#1122201: Allow supplying separate volume labels for ISO9660 and Joliet.

Thomas Schmitt scdbackup at gmx.net
Thu Dec 11 14:46:54 GMT 2025


Hi,

i explored parts of the current use of the volume id text in libisofs
and in xorriso.

There are four consumers when an image is produced:
ISO 9660 (including Rock Ridge), Joliet, ISO 9660:1999, and HFS+.
Each have their own superblock and directory tree.

As for libisofs write preparation API my plan resembles yours:

- libisofs will store and use separate volume ids for each of the
  consumer filesystems.

- Existing API call iso_image_set_volume_id() will continue to set
  all four ids to the value which it got from the caller.

- A new API call
    iso_image_set_volume_id_v2(IsoImage *image, int fs_type_mask,
                               const char *volume_id);
  will enable the caller to address the particular filesystems by
  bits in fs_type_mask : bit0=ISO 9660, bit1=Joliet, ...

The corresponding xorriso API and CLI will mirror this enhancement:

- xorriso, too, will store and use separate volume ids for writing.

- Command -volid will set them all to the same value.

- A new command and a new -as "mkisofs" option
    -volid_for fs_type text
  will set volume id values for particular filesystems.


But there is also the aspect of reading volume ids from existing ISO
images. I still have to explore the various ways by which xorriso uses
this info.


Have a nice day :)

Thomas



More information about the Pkg-libburnia-devel mailing list