Copyright (c) 2006, Sun Microsystems, Inc.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
HSFS is a file system type that allows users to access files on High Sierra or ISO 9660 format CD-ROM disks from within the SunOS operating system. Once mounted, a HSFS file system provides standard SunOS read-only file system operations and semantics, meaning that you can read and list files in a directory on a High Sierra or ISO 9660 CD-ROM and applications can use standard UNIX system calls on these files and directories.
This file system contains support for Rock Ridge, ISO 9660 Version 2 and Joliet extensions. These extensions provide support for file names with a length of at least 207 bytes, but only Rock Ridge extensions (with the exception of writability and hard links) can provide file system semantics and file types as they are found in UFS. The presence of Rock Ridge, ISO 9660 Version 2 and Joliet is autodetected and the best-suitable available extension is used by the HSFS driver for file name and attribute lookup.
If your /etc/vfstab file contains a line similar to the following:
/dev/dsk/c0t6d0s0 -/hsfs hsfs -no ro
and /hsfs exists, you can mount an HSFS file system with either of the following commands:
mount -F hsfs -o ro device-special directory-name
or
mount /hsfs
By default, Rock Ridge extensions are used if available, otherwise ISO 9660 Version 2, then Joliet are used. If neither extension is present HSFS defaults to the standard capabilities of ISO 9660. Since so-called hybrid CD-ROMs that contain multiple extensions are possible, you can use the following mount options to deliberately disable the search for a specific extension or to force the use of a specific extension even if a preferable type is present:
mount -F hsfs -o ro,nrr device-special directory-name
Mount options are:
rr\(emrequest HSFS to use Rock Ridge extensions, if present. This is the default behavior and does not need to be explicitly specified.
nrr\(emdisable detection and use of Rock Ridge extensions, even if present.
vers2\(emrequest HSFS to use ISO 9660 Version 2 extensions, even if Rock Ridge is available.
novers2\(emdisable detection and use of ISO 9660 Version 2 extensions.
joliet\(emrequest HSFS to use Joliet extensions, even if Rock Ridge or ISO 9660 Version 2 extensions are available.
nojoliet\(emdisable detection and use of Joliet extensions.
Files on a High Sierra or ISO 9660 CD-ROM disk have names of the form filename.ext;version, where filename and the optional ext consist of a sequence of uppercase alphanumeric characters (including ``_''), while the version consists of a sequence of digits, representing the version number of the file. HSFS converts all the uppercase characters in a file name to lowercase, and truncates the ``;'' and version information. If more than one version of a file is present on the CD-ROM, only the file with the highest version number is accessible.
Conversion of uppercase to lowercase characters may be disabled by using the -o nomaplcase option to mount(1M). (See mount_hsfs(1M)).
If the CD-ROM contains Rock Ridge, ISO 9660 version 2 or Joliet extensions, the file names and directory names may contain any character supported under UFS. The names may also be upper and/or lower case and are case sensitive. File name lengths can be as long as those of UFS.
Files accessed through HSFS have mode 555 (owner, group and world readable and executable), uid 0 and gid 3. If a directory on the CD-ROM has read permission, HSFS grants execute permission to the directory, allowing it to be searched.
With Rock Ridge extensions, files and directories can have any permissions that are supported on a UFS file system. However, under all write permissions, the file system is read-only, with EROFS returned to any write operations.
Like High Sierra and ISO 9660 CD-ROMs, HSFS supports only regular files and directories. A Rock Ridge CD-ROM can support regular files, directories, and symbolic links, as well as device nodes, such as block, character, and FIFO.
Example 1 Sample Display of File System Files
If there is a file BIG.BAR on a High Sierra or ISO 9660 format CD-ROM it will show up as big.bar when listed on a HSFS file system.
If there are three files
BAR.BAZ;1
BAR.BAZ;2
and
BAR.BAZ;3
on a High Sierra or ISO 9660 format CD-ROM, only the file BAR.BAZ;3 will be accessible. It will be listed as bar.baz.
mount(1M), mount_hsfs(1M), vfstab(4)
N. V. Phillips and Sony Corporation, System Description Compact Disc Digital Audio, ("Red Book").
N. V. Phillips and Sony Corporation, System Description of Compact Disc Read Only Memory, ("Yellow Book").
IR "Volume and File Structure of CD-ROM for Information Interchange", ISO 9660:1988(E).
does not conform to the ISO-9660 spec
The specific reason appears on the following line. You might be attempting to mount a CD-ROM containing a different file system, such as UFS.
contains a file [with an] unsupported type
The hsfs file system does not support the format of some file or directory on the CD-ROM, for example a record structured file.
There are not enough HSFS internal data structure elements to handle all the files currently open. This problem may be overcome by adding a line of the form set hsfs:nhsnode=number to the /etc/system system configuration file and rebooting. See system(4).
Do not physically eject a CD-ROM while the device is still mounted as a HSFS file system.
Under MS-DOS (for which CD-ROMs are frequently targeted), files with no extension may be represented either as:
filename.
or
filename
that is, with or without a trailing period. These names are not equivalent under UNIX systems. For example, the names:
BAR.
and
BAR
are not names for the same file under the UNIX system. This may cause confusion if you are consulting documentation for CD-ROMs originally intended for MS-DOS systems.
Use of the -o notraildot option to mount(1M) makes it optional to specify the trailing dot. (See mount_hsfs(1M)).
No translation of any sort is done on the contents of High Sierra or ISO 9660 format CD-ROMs; only directory and file names are subject to interpretation by HSFS.