Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Dec 2000 20:22:18 -0800 (PST)
From:      Mark Peek <mark@whistle.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/23315: Some "valid" Joliet discs cannot be read in Joliet format
Message-ID:  <200012060422.eB64MIM15756@shark.whistle.com>
Resent-Message-ID: <200012060430.eB64U1s85987@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         23315
>Category:       kern
>Synopsis:       Some "valid" Joliet discs cannot be read in Joliet format
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 05 20:30:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Mark Peek
>Release:        FreeBSD 4.2-RELEASE i386
>Organization:
Whistle Communications, Inc.
>Environment:
>Description:
A PC game disc (Unreal Tournament) will not be detected as a proper
Joliet format disc on FreeBSD although it will show up as Joliet on
Windows and Linux systems.

>How-To-Repeat:
Try mounting the above disc on a FreeBSD 4.2 system.

>Fix:
The problem appears to be due to the way the disc is formatted with
the Supplementary Volume Descriptor Flags field not being set to 0
to indicate a properly formatted Unicode SVD. However, since the disc
can be read on Windows platforms, it would make sense to provide the
same level of compatibilty.

Various fixes could be made:
1. Remove the check altogether
2. Make the check a warning
3. Provide a mount option to allow these broken discs.

The patch for #1 is included below. It's simple and provides the
compatibility needed for reading these Joliet discs. Also, if the
old behavior is required, there is already a mount option to disable
the Joliet format and revert back to ISO 9660 filenames.

Index: cd9660_vfsops.c
===================================================================
RCS file: /cvs/cvs/freebsd/src/sys/isofs/cd9660/cd9660_vfsops.c,v
retrieving revision 1.80
diff -c -5 -r1.80 cd9660_vfsops.c
*** cd9660_vfsops.c	2000/10/09 17:31:36	1.80
--- cd9660_vfsops.c	2000/12/06 02:13:14
***************
*** 354,366 ****
  						joliet_level = 1;
  					if (bcmp(sup->escape, "%/C", 3) == 0)
  						joliet_level = 2;
  					if (bcmp(sup->escape, "%/E", 3) == 0)
  						joliet_level = 3;
- 
- 					if (isonum_711 (sup->flags) & 1)
- 						joliet_level = 0;
  				}
  			}
  			break;
  
  		case ISO_VD_END:
--- 354,363 ----

>Release-Note:
>Audit-Trail:
>Unformatted:
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012060422.eB64MIM15756>