
Macintosh HFS Filesystem for Linux
==================================

HFS stands for ``Hierarchical File System'' and is the filesystem used
by the Mac Plus and all later Macintosh models.  Earlier Macintosh
models used MFS (``Macintosh File System''), which is not supported,
MacOS 8.1 and newer support a filesystem called HFS+ that's similar to
HFS but is extended in various areas.  Use the hfsplus filesystem driver
to access such filesystems from Linux.


Mount options
=============

When mounting an HFS filesystem, the following options are accepted:

  creator=cccc, type=cccc
	Specifies the creator/type values as shown by the MacOS finder
	used for creating new files.  Default values: '????'.

  uid=n, gid=n
  	Specifies the user/group that owns all files on the filesystems.
	Default:  user/group id of the mounting process.

  dir_umask=n, file_umask=n, umask=n
	Specifies the umask used for all files , all directories or all
	files and directories.  Defaults to the umask of the mounting process.

  session=n
  	Select the CDROM session to mount as HFS filesystem.  Defaults to
	leaving that decision to the CDROM driver.  This option will fail
	with anything but a CDROM as underlying devices.

  part=n
  	Select partition number n from the devices.  Does only makes
	sense for CDROMS because they can't be partitioned under Linux.
	For disk devices the generic partition parsing code does this
	for us.  Defaults to not parsing the partition table at all.

  quiet
  	Ignore invalid mount options instead of complaining.


Writing to HFS Filesystems
==========================

HFS is not a UNIX filesystem, thus it does not have the usual features you'd
expect:

 o You can't modify the set-uid, set-gid, sticky or executable bits or the uid
   and gid of files.
 o You can't create hard- or symlinks, device files, sockets or FIFOs.

HFS does on the other have the concepts of multiple forks per file.  These
non-standard forks are represented as hidden additional files in the normal
filesystems namespace which is kind of a cludge and makes the semantics for
the a little strange:

 o You can't create, delete or rename resource forks of files or the
   Finder's metadata.
 o They are however created (with default values), deleted and renamed
   along with the corresponding data fork or directory.
 o Copying files to a different filesystem will loose those attributes
   that are essential for MacOS to work.


Creating HFS filesystems
===================================

The hfsutils package from Robert Leslie contains a program called
hformat that can be used to create HFS filesystem. See
<http://www.mars.org/home/rob/proj/hfs/> for details.


Credits
=======

The HFS drivers was written by Paul H. Hargrovea (hargrove@sccm.Stanford.EDU)
and is now maintained by Roman Zippel (roman@ardistech.com) at Ardis
Technologies.
Roman rewrote large parts of the code and brought in btree routines derived
from Brad Boyer's hfsplus driver (also maintained by Roman now).
