[dolphin] [Bug 425319] New: Mounting an ISO with multiple partitions always mounts the wrong partition

Oded Arbel bugzilla_noreply at kde.org
Thu Aug 13 19:33:52 BST 2020


https://bugs.kde.org/show_bug.cgi?id=425319

            Bug ID: 425319
           Summary: Mounting an ISO with multiple partitions always mounts
                    the wrong partition
           Product: dolphin
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: plugins: ISO mounting
          Assignee: kwon-young.choi at hotmail.fr
          Reporter: oded at geek.co.il
                CC: kfm-devel at kde.org
  Target Milestone: ---

SUMMARY
I have an ISO of a "multi-partition ISO" images (dual use for Windows and Mac).
When mounting it using Dolphin (clicking on the device in the "Devices" list),
it mounts the HFS partition.

STEPS TO REPRODUCE
1. Setup a loop device for a multi-partition ISO image (using losetup,
udisksctl or Dolphin's new "Mount ISO" service). 
2. Double click the new device that appears in the "Devices" list.

OBSERVED RESULT
The HFS filesystem on the ISO is shown with the Mac specific files. The Joliet
file system is not shown.

EXPECTED RESULT
The Joliet file system should be shown.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 5.19.80
KDE Frameworks Version: 5.74.0
Qt Version: 5.14.2

ADDITIONAL INFORMATION
Dolphin is version 20.11.70 installed from neon unstable repositories.

The Joliet file system can be accessed by using the FuseISO tools on the loop
device setup by losetup/udisksctl/Dolphin by executing something like this on a
terminal:

fuseiso /dev/loop28 ~/mnt/tmp/

Using `solid-hardware5 list details`, the relevant output looks like this:

udi = '/org/freedesktop/UDisks2/block_devices/loop28'
  parent = '/'  (string)
  vendor = ''  (string)
  product = ''  (string)
  description = 'INSTALL'  (string)
  icon = 'application-x-cd-image'  (string)
  Block.major = 7  (0x7)  (int)
  Block.minor = 28  (0x1c)  (int)
  Block.device = '/dev/loop28'  (string)
  StorageVolume.ignored = true  (bool)
  StorageVolume.usage = 'PartitionTable'  (0x3)  (enum)
  StorageVolume.fsType = 'iso9660'  (string)
  StorageVolume.label = 'INSTALL'  (string)
  StorageVolume.uuid = '2004-08-12-14-36-55-00'  (string)
  StorageVolume.size = 654561280  (0x2703d000)  (qulonglong)

udi = '/org/freedesktop/UDisks2/block_devices/loop28p2'
  parent = '/'  (string)
  vendor = ''  (string)
  product = ''  (string)
  description = 'XXXXXXXXXXX'  (string)
  icon = 'drive-harddisk'  (string)
  Block.major = 259  (0x103)  (int)
  Block.minor = 10  (0xa)  (int)
  Block.device = '/dev/loop28p2'  (string)
  StorageAccess.accessible = false  (bool)
  StorageAccess.filePath = ''  (string)
  StorageAccess.ignored = true  (bool)
  StorageVolume.ignored = false  (bool)
  StorageVolume.usage = 'FileSystem'  (0x2)  (enum)
  StorageVolume.fsType = 'hfs'  (string)
  StorageVolume.label = 'XXXXXXXXXXX'  (string)
  StorageVolume.uuid = 'dbd5a3ea-5614-384e-8d15-045117946523'  (string)
  StorageVolume.size = 628582400  (0x25776800)  (qulonglong)

udi = '/org/freedesktop/UDisks2/block_devices/loop28p1'
  parent = '/'  (string)
  vendor = ''  (string)
  product = ''  (string)
  description = 'MRKS'  (string)
  icon = 'drive-harddisk'  (string)
  Block.major = 259  (0x103)  (int)
  Block.minor = 9  (0x9)  (int)
  Block.device = '/dev/loop28p1'  (string)
  StorageVolume.ignored = true  (bool)
  StorageVolume.usage = 'Unused'  (0x1)  (enum)
  StorageVolume.fsType = ''  (string)
  StorageVolume.label = 'MRKS'  (string)
  StorageVolume.uuid = ''  (string)
  StorageVolume.size = 1024  (0x400)  (qulonglong)

While the specific ISO image I'm using was created by a commercial software for
a commercial product, according to the mkisofs man page, that can also be used
to generate multi-partition ISO images with different HFS and Joliet views.

`isoinfo -d` shows:

CD-ROM is in ISO 9660 format
System id: APPLE COMPUTER, INC., TYPE: 0002
Volume id: INSTALL
Volume set id: NOT_SET
Publisher id: 
Data preparer id: 
Application id: TOAST ISO 9660 BUILDER COPYRIGHT (C) 1997-2002 ROXIO, INC. -
HAVE A NICE DAY
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 319610
Joliet with UCS level 1 found
NO Rock Ridge present

Isolyzer output is as follows:

<?xml version="1.0" ?>
<isolyzer>
    <toolInfo>
        <toolName>isolyzer</toolName>
        <toolVersion>1.3.1</toolVersion>
    </toolInfo>
    <image>
        <fileInfo>
            <fileName>XXXXXXXXXXX.iso</fileName>
            <filePath>/home/odeda/Documents/XXXXXXXXXXX.iso</filePath>
            <fileSizeInBytes>654561280</fileSizeInBytes>
            <fileLastModified>Fri May  1 20:21:13 2020</fileLastModified>
        </fileInfo>
        <statusInfo>
            <success>True</success>
        </statusInfo>
        <sectorOffset>0</sectorOffset>
        <tests>
            <containsKnownFileSystem>True</containsKnownFileSystem>
            <sizeExpected>654561280</sizeExpected>
            <sizeActual>654561280</sizeActual>
            <sizeDifference>0</sizeDifference>
            <sizeDifferenceSectors>0.0</sizeDifferenceSectors>
            <sizeAsExpected>True</sizeAsExpected>
            <smallerThanExpected>False</smallerThanExpected>
        </tests>
        <fileSystems>
            <fileSystem TYPE="ISO 9660">
                <primaryVolumeDescriptor>
                    <typeCode>1</typeCode>
                    <standardIdentifier>CD001</standardIdentifier>
                    <version>1</version>
                    <systemIdentifier>APPLE COMPUTER, INC., TYPE:
0002</systemIdentifier>
                    <volumeIdentifier>INSTALL</volumeIdentifier>
                    <volumeSpaceSize>319610</volumeSpaceSize>
                    <volumeSetSize>1</volumeSetSize>
                    <volumeSequenceNumber>1</volumeSequenceNumber>
                    <logicalBlockSize>2048</logicalBlockSize>
                    <pathTableSize>238</pathTableSize>
                    <typeLPathTableLocation>19</typeLPathTableLocation>
                   
<optionalTypeLPathTableLocation>0</optionalTypeLPathTableLocation>
                    <typeMPathTableLocation>20</typeMPathTableLocation>
                   
<optionalTypeMPathTableLocation>0</optionalTypeMPathTableLocation>
                    <volumeSetIdentifier>NOT_SET</volumeSetIdentifier>
                    <publisherIdentifier/>
                    <dataPreparerIdentifier/>
                    <applicationIdentifier>TOAST ISO 9660 BUILDER COPYRIGHT (C)
1997-2002 ROXIO, INC. - HAVE A NICE DAY</applicationIdentifier>
                    <copyrightFileIdentifier/>
                    <abstractFileIdentifier/>
                    <bibliographicFileIdentifier/>
                    <volumeCreationDateAndTime>2004/08/12,
14:34:59</volumeCreationDateAndTime>
                    <volumeModificationDateAndTime>2004/08/12,
14:36:55</volumeModificationDateAndTime>
                    <volumeExpirationDateAndTime/>
                    <volumeEffectiveDateAndTime/>
                    <fileStructureVersion>1</fileStructureVersion>
                </primaryVolumeDescriptor>
            </fileSystem>
            <fileSystem TYPE="HFS">
                <appleZeroBlock>
                    <signature>ER</signature>
                    <blockSize>512</blockSize>
                    <blockCount>1278438</blockCount>
                    <deviceType>1</deviceType>
                    <deviceID>1</deviceID>
                    <driverData>0</driverData>
                    <driverDescriptorCount>0</driverDescriptorCount>
                    <driverDescriptorBlockStart>0</driverDescriptorBlockStart>
                    <driverDescriptorBlockCount>0</driverDescriptorBlockCount>
                    <driverDescriptorSystemType>0</driverDescriptorSystemType>
                </appleZeroBlock>
                <applePartitionMap>
                    <signature>PM</signature>
                    <numberOfPartitionEntries>2</numberOfPartitionEntries>
                    <partitionBlockStart>1</partitionBlockStart>
                    <partitionBlockCount>2</partitionBlockCount>
                    <partitionName>MRKS</partitionName>
                    <partitionType>Apple_partition_map</partitionType>
                    <partitionLogicalBlockStart>0</partitionLogicalBlockStart>
                    <partitionLogicalBlockCount>2</partitionLogicalBlockCount>
                    <partitionFlags>51</partitionFlags>
                    <bootCodeBlockStart>0</bootCodeBlockStart>
                    <bootCodeSizeInBytes>0</bootCodeSizeInBytes>
                    <bootCodeLoadAddress>0</bootCodeLoadAddress>
                    <bootCodeJumpAddress>0</bootCodeJumpAddress>
                    <bootCodeChecksum>0</bootCodeChecksum>
                    <processorType/>
                </applePartitionMap>
                <applePartitionMap>
                    <signature>PM</signature>
                    <numberOfPartitionEntries>2</numberOfPartitionEntries>
                    <partitionBlockStart>50738</partitionBlockStart>
                    <partitionBlockCount>1227700</partitionBlockCount>
                    <partitionName>Toast 5.2 HFS Optimizer</partitionName>
                    <partitionType>Apple_HFS</partitionType>
                    <partitionLogicalBlockStart>0</partitionLogicalBlockStart>
                   
<partitionLogicalBlockCount>1227700</partitionLogicalBlockCount>
                    <partitionFlags>51</partitionFlags>
                    <bootCodeBlockStart>0</bootCodeBlockStart>
                    <bootCodeSizeInBytes>0</bootCodeSizeInBytes>
                    <bootCodeLoadAddress>0</bootCodeLoadAddress>
                    <bootCodeJumpAddress>0</bootCodeJumpAddress>
                    <bootCodeChecksum>0</bootCodeChecksum>
                    <processorType/>
                </applePartitionMap>
                <masterDirectoryBlock>
                    <signature>BD</signature>
                    <blockSize>61384</blockSize>
                    <blockCount>10240</blockCount>
                    <volumeName>XXXXXXXXXXX</volumeName>
                </masterDirectoryBlock>
            </fileSystem>
        </fileSystems>
    </image>
</isolyzer>

-- 
You are receiving this mail because:
You are on the CC list for the bug.



More information about the kfm-devel mailing list