Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / Documentation / filesystems / hfs.txt
diff --git a/kernel/Documentation/filesystems/hfs.txt b/kernel/Documentation/filesystems/hfs.txt
new file mode 100644 (file)
index 0000000..d096df6
--- /dev/null
@@ -0,0 +1,82 @@
+Note: This filesystem doesn't have a maintainer.
+
+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).
+Roman Zippel (roman@ardistech.com) rewrote large parts of the code and brought
+in btree routines derived from Brad Boyer's hfsplus driver.