Bug 95222 - [cd9660] File sections on ISO9660 level 3 CDs ignored
Summary: [cd9660] File sections on ISO9660 level 3 CDs ignored
Status: Closed Overcome By Events
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-02 12:50 UTC by Pete
Modified: 2018-08-18 02:51 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pete 2006-04-02 12:50:17 UTC
The current cd9660 implementation does not support "file sections" (a
feature allowing portions of a file to be reused), even though this is
required for Level 3 compliant implementations.

Windows users sometimes creates such CDs, but since they are rather uncommon, 
I believe it only happens if they tweak their burner settings. Windows has
supported Level 3, "Joliet level 3", for a decade or so.

Fix: 

Ideally:
Properly implement file sections. AFAICT, none of the BSDs have it
implemented, but it's supported by Linux, see for example:

http://www.linux-m32r.org/lxr/http/source/fs/isofs/inode.c

This requires significant work, and some potential problems in
implementing this for NetBSD were discussed at:

http://groups.google.com/group/fa.netbsd.current-users/browse_frm/thread/c917600103080381

In the meantime, it shouldn't be too difficult to add warnings when
attempting to read a multi-section file. One could also warn at mount
time -- the only difference between level 2 and level 3 is that the
latter allows for multi-section files -- but the drawback of this is
that level 3 doesn't require multi-sections, so a warning might
unnecessarily scare the user.

Please note that mounting the CD without Joliet extensions doesn't make
the files readable.
How-To-Repeat: 1, Burn a known file in multiple sections (Roxio's software for Windows
   appears to be able to do this)
2, Mount CD in FreeBSD
3, Copy the known file, and notice that although it appears to succeed, only
   a portion of the file is copied. (Also, file sizes in listings are wrong.)
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2009-05-18 04:10:06 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-fs

Over to maintainer(s).
Comment 2 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:33 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 3 Masachika ISHIZUKA 2018-08-18 02:19:30 UTC
mount_udf can mount iso9660 level 3 BD-R DL correctly.

P.S. Although I want to write /etc/fstab, I can't specify charset in fstab.
Comment 4 Masachika ISHIZUKA 2018-08-18 02:34:08 UTC
(In reply to Masachika ISHIZUKA from comment #3)

Sorry, I can specify charset in fstab as follows.

/dev/cd0   /cdrom    udf     ro,noauto,-C=UTF-8      0     0
Comment 5 Conrad Meyer freebsd_committer freebsd_triage 2018-08-18 02:51:42 UTC
There doesn't seem to be any obvious need for multi-extent 700 MB CD images, given cd9660 can reference 2^32-1 bytes (~4GB) in a single extent and the volume is limited by physical media to 700 MB.  Meanwhile, DVD and larger media have UDF.  I think we can close this, although it would be nice if documentation and/or automated detection were better.

(Workaround: Use udf filesystem instead of cd9660.)

Thanks Masachika ISHIZUKA for investigation.