Bug 469512 - gvfs appends ";1" to all filenames inside UDF images mounted with "Archive Mounter"
gvfs appends ";1" to all filenames inside UDF images mounted with "Archive Mo...
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: libarchive (Show other bugs)
10
All Linux
medium Severity medium
: ---
: ---
Assigned To: Tomáš Bžatek
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-11-01 15:23 EDT by Stewart Adam
Modified: 2015-03-03 17:33 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 530932 (view as bug list)
Environment:
Last Closed: 2008-12-09 06:32:35 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Stewart Adam 2008-11-01 15:23:37 EDT
Description of problem:
If a UDF image is mounted with gvfs's archive mounter, all filenames have the ";1" characters appended at the end of them. If a file has no extension, ".;1" is appended. Mounting the image using "mount -o loop" works fine and shows the correct filenames.

Version-Release number of selected component (if applicable):
gvfs-0.2.5-1.fc9.x86_64

How reproducible:
Always

Steps to Reproduce:
1. mkdir udfdata
2. echo 'a file with some contents' > udfdata/test
3. mkisofs -udf -o udf.iso udfdata && rm -rf udfdata
4. Double-click on "udf.iso"
  
Actual results:
UDF image is mounted, but all filenames have ";1" appended to them. Directory names seem to be unaffected.

Expected results:
Filenames appear as they did inside the original directory, similar to when mounting using "mount -o loop"

Additional info:
Comment 1 Tomáš Bžatek 2008-11-03 04:44:23 EST
This is a known libarchive issue with certain ISO9660 images. Also, libarchive can't read UDF and falls back to ISO9660 when no RockRidge file table is available.

libarchive-2.5.5-1.fc10 partially fixes this issue - you may try installing this F10 package.
Comment 2 Stewart Adam 2008-11-28 22:31:38 EST
Sorry for the slow reply. I just tried with that version of libarchive (I'm running F10 final), same results.
Comment 3 Tomáš Bžatek 2008-12-05 09:28:38 EST
OK, would be possible to post a testing ISO somewhere so we can test the fix on it? I suspect some free utility ISOs like UBCD might be affected as well. Something is broken with handling ISO9960 (level 1 ?) filenames.
Comment 4 Stewart Adam 2008-12-05 11:59:39 EST
Here it is: http://downloads.diffingo.com/udf.iso

I created it with the instructions under "Steps to Reproduce", but I placed three empty files inside it.
Comment 5 Tomáš Bžatek 2008-12-08 11:33:38 EST
This has been fixed upstream: http://perforce.freebsd.org/changeView.cgi?CH=153502

Fix is included in libarchive-2.5.903a-1.fc11
Comment 6 Fedora Update System 2008-12-08 11:36:30 EST
libarchive-2.5.5-2.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/libarchive-2.5.5-2.fc10
Comment 7 Fedora Update System 2008-12-09 06:32:30 EST
libarchive-2.5.5-2.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 8 Steve Elliott 2009-04-20 22:12:40 EDT
I think the root problem still exists.

It seems that libarchive activation from gvfsd-archive looks only at the iso table of contents in an image and not at valid udf data in the same image.

(The addition of ";1" looks like it was only an artifact of an attempt to emulate RockRidge extensions)

The following session constucts an iso image then mounts it with Archive Mounter then each of mount -t {iso9660,udf,auto} 

Note the anomalous gvfs result and the standard (non Rock Ridge) iso9660 short names.

$ mkdir udfdata
$ echo 'a file with some content' >udfdata/test
$ echo 'a file with some content' >udfdata/test_file_with_a_long_name
$ mkdir udfdata/folder
$ echo 'a file with some content' >udfdata/folder/test
$ echo 'a file with some content' >udfdata/folder/test_file_with_a_long_name
$ mkisofs -udf -o udf.iso udfdata

##### Archive mount (Double click on) udf.iso  ###############

$ tree .gvfs/udf.iso/
.gvfs/udf.iso/
|-- FOLDER
|   |-- TEST
|   `-- TEST_FIL
|-- TEST
`-- TEST_FIL

1 directory, 4 files

#### Umount volume ####

$ sudo mount -t iso9660 -o loop udf.iso mnt
$ tree mnt
mnt
|-- folder
|   |-- test
|   `-- test_fil
|-- test
`-- test_fil

1 directory, 4 files
$ sudo umount mnt

$ sudo mount -t udf -o loop udf.iso mnt
$ tree mnt
mnt
|-- folder
|   |-- test
|   `-- test_file_with_a_long_name
|-- test
`-- test_file_with_a_long_name

1 directory, 4 files
$ sudo umount mnt

$ sudo mount -t auto -o loop udf.iso mnt
$ tree mnt
mnt
|-- folder
|   |-- test
|   `-- test_file_with_a_long_name
|-- test
`-- test_file_with_a_long_name

1 directory, 4 files
$ sudo umount mnt

Note You need to log in before you can comment on or make changes to this bug.