mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [2.6 patch] remove two obsolete HFS docs
@ 2004-01-18 19:01 Adrian Bunk
  0 siblings, 0 replies; only message in thread
From: Adrian Bunk @ 2004-01-18 19:01 UTC (permalink / raw)
  To: oliver, hargrove; +Cc: linux-kernel

I can't judge about the other docs under fs/hfs/ , but the INSTALL.txt 
and Changelog there are definitely too outdated to be useful for anyone.
The patch below removes them.

diffstat output:

 fs/hfs/ChangeLog   | 2506 ---------------------------------------------
 fs/hfs/INSTALL.txt |  124 --
 2 files changed, 2630 deletions(-)


Please apply
Adrian

--- linux-2.6.1-mm4/fs/hfs/INSTALL.txt	2004-01-09 07:59:27.000000000 +0100
+++ /dev/null	2003-12-19 23:47:26.000000000 +0100
@@ -1,124 +0,0 @@
-  Installation instructions for the HFS Filesystem for Linux
-  Paul H. Hargrove, hargrove@sccm.Stanford.EDU
-  version 0.95 28 Apr 1997
-
-  This document explains how to compile and install version 0.95 of
-  hfs_fs, the HFS filesystem for Linux.
-
-  1\b1.\b.  S\bSy\bys\bst\bte\bem\bm R\bRe\beq\bqu\bui\bir\bre\bem\bme\ben\bnt\bts\bs
-
-  You will need the following to compile and use this release of hfs_fs:
-
-  +\bo  Kernel version 2.0.1 or newer compiled with modules enabled
-     (CONFIG_MODULES).
-
-  +\bo  The kernel sources (or at least the header files) available online.
-
-  +\bo  The module utilities package current for your kernel version and an
-     understanding of how to use it.
-
-  2\b2.\b.  I\bIn\bns\bst\bta\bal\bll\bla\bat\bti\bio\bon\bn
-
-  This release of the HFS filesystem is not part of the official kernel
-  distribution.  Therefore, it is compiled as a module and then loaded
-  into the kernel using the module utilities.  Therefore, your kernel
-  must be compiled with CONFIG_MODULES enabled.
-
-  2\b2.\b.1\b1.\b.  C\bCo\bom\bmp\bpi\bil\bli\bin\bng\bg t\bth\bhe\be l\blo\boa\bad\bda\bab\bbl\ble\be m\bmo\bod\bdu\bul\ble\be
-
-  To compile hfs.o you should only need to execute ``make'' in the
-  hfs_fs source directory.
-
-  If gcc complains about not finding a large number of header files with
-  names beginning with ``linux/'' then you probably don't have the
-  kernel header files installed correctly.  Either /usr/include/linux,
-  /usr/include/asm and /usr/include/scsi should be symbolic links to
-  include/linux, include/asm and include/scsi in the kernel source tree
-  for the kernel you wish to use hfs_fs with, or else they should be
-  directories containing the header files for the kernel you wish to use
-  hfs_fs with.
-
-  If gcc complains about not finding linux/version.h, then you will need
-  to run ``make dep'' in the kernel source directory to build it.  Under
-  MkLinux, run ``make include/linux/version.h'' instead.
-
-  If gcc complains about not finding the files linux/config.h or
-  linux/autoconf.h, then you will need to run ``make config'' and ``make
-  dep'' in the kernel source directory to build these two files.
-
-  If you are compiling on a DEC Alpha and receive messages saying
-  assignment from incompatible pointer type when compiling files dir_*.c
-  and file_*.c, then you need to change a single line in the file
-  linux/hfs_fs.h.  Remove the text ``&& !defined(__alpha__)'' from the
-  end of line 217.
-
-  2\b2.\b.2\b2.\b.  I\bIn\bns\bst\bta\bal\bll\bli\bin\bng\bg t\bth\bhe\be m\bmo\bod\bdu\bul\ble\be i\bin\bn t\bth\bhe\be m\bmo\bod\bdu\bul\ble\bes\bs d\bdi\bir\bre\bec\bct\bto\bor\bry\by (\b(o\bop\bpt\bti\bio\bon\bna\bal\bl)\b)
-
-  If you plan to use kerneld to automatically load the module or if you
-  wish to use modprobe or insmod without supplying a complete path to
-  hfs.o, then you will need to copy hfs.o into a directory where the
-  module utilities expect to find it.
-
-  The proper directory may depend slightly on your configuration.
-  However, /lib/modules/default/fs/ is a common one for filesystem
-  modules.  Once hfs.o is in the proper directory you should run depmod
-  -a to update the dependency list used by kerneld and modprobe.
-
-  2\b2.\b.3\b3.\b.  L\bLo\boa\bad\bdi\bin\bng\bg t\bth\bhe\be m\bmo\bod\bdu\bul\ble\be i\bin\bnt\bto\bo t\bth\bhe\be r\bru\bun\bnn\bni\bin\bng\bg k\bke\ber\brn\bne\bel\bl
-
-  There are three ways to accomplish this:
-
-  1. If you are running kerneld and have installed hfs.o in the modules
-     directory then you don't need to issue any commands; the module
-     will be loaded when you attempt to mount an HFS filesystem.
-
-  2. If you are _\bn_\bo_\bt running kerneld then you can load hfs.o manually by
-     running modprobe hfs.o.  If you have not installed hfs.o in one of
-     the standard module directories, then you will need provide a full
-     path to the file hfs.o.
-
-  3. If you have been experiencing kernel crashes with hfs_fs, then you
-     should file a bug report including the names of the functions which
-     the EIP and Stack Trace point into.  To help with this you can ask
-     for relocation map for the module when you load it.  To do this
-     load the module with ``insmod -m hfs.o >loadmap''.  Again, you may
-     need a full path to the file hfs.o if you have not placed it in one
-     of the standard module directories.
-
-  2\b2.\b.4\b4.\b.  U\bUs\bsi\bin\bng\bg t\bth\bhe\be m\bmo\bod\bdu\bul\ble\be w\bwi\bit\bth\bh v\bve\ber\brs\bsi\bio\bon\bne\bed\bd s\bsy\bym\bmb\bbo\bol\bls\bs
-
-  All the interface between the module and the kernel take place through
-  very stable (since the mid-1.3.x kernels) parts of the kernel.  If you
-  enabled versioned symbols (CONFIG_MODVERSIONS) when you compiled your
-  kernel you should often be able to compile this module once and then
-  use it with many kernels newer than the one you compiled it for.
-
-  In any case, it is unlikely that this module will need changes with
-  each new kernel patch; simple recompilation should usually suffice.
-
-  3\b3.\b.  L\bLe\beg\bga\bal\bl N\bNo\bot\bti\bic\bce\bes\bs
-
-  3\b3.\b.1\b1.\b.  T\bTh\bhi\bis\bs D\bDo\boc\bcu\bum\bme\ben\bnt\bt
-
-  This document is Copyright (c) 1996, 1997 by Paul H. Hargrove.
-
-  Permission is granted to make and distribute verbatim copies of this
-  document provided the copyright notice and this permission notice are
-  preserved on all copies.
-
-  Permission is granted to copy and distribute modified versions of this
-  document under the conditions for verbatim copies above, provided a
-  notice clearly stating that the document is a modified version is also
-  included in the modified document.
-
-  Permission is granted to copy and distribute translations of this
-  document into another language, under the conditions specified above
-  for modified versions.
-
-  Permission is granted to convert this document into another media
-  under the conditions specified above for modified versions provided
-  the requirement to acknowledge the source document is fulfilled by
-  inclusion of an obvious reference to the source document in the new
-  media. Where there is any doubt as to what defines ``obvious'' the
-  copyright owner reserves the right to decide.
-
--- linux-2.6.1-mm4/fs/hfs/ChangeLog	2004-01-09 08:00:02.000000000 +0100
+++ /dev/null	2003-12-19 23:47:26.000000000 +0100
@@ -1,2506 +0,0 @@
-2000-01-02  a sun  <asun@asun.cobalt.com>
-
-	* file.c (hfs_get_block): added hfs_get_block for regular files. 
-
-1999-04-12  a sun  <asun@hecate.darksunrising.blah>
-
-	* file_hdr.c (hdr_read): added rootinfo behaviour for DID header.
-
-1999-04-11  a sun  <asun@hecate.darksunrising.blah>
-
-	* super.c (parse_options): added s_version so that we can select
-	between different versions of the same layout.
-
-1999-04-05  a sun  <asun@hecate.darksunrising.blah>
-
-	* linux/hfs_fs.h: unified netatalk and appledouble header format. 
-	added in all of the AFP attribute bits.
-
-	* file_hdr.c: added netatalk appledouble v2 compatible headers. 
-
-1999-01-30  a sun  <asun@hecate.darksunrising.blah>
-
-	* catalog.c (hfs_cat_move): fixed corruption problem with
-	renames.
-
-1999-01-27  a sun  <asun@hecate.darksunrising.blah>
-
-	* file_hdr.c (get/set_dates): got rid of broken afpd times. NOTE:
-	you must use netatalk-1.4b2+asun2.1.2 or newer for this.
-
-1998-12-20  a sun  <asun@hecate.darksunrising.blah>
-
-	* bdelete.c (del_root): assign bthLNode and bthFNode only if the
-	root node becomes a leaf node. Disk First Aid no longer
-	complains. Norton Utilities, of course, has decided that it
-	doesn't like the root node number. bleah. i think that it might be
-	due to Norton Utilities not expecting the root node to have moved.
-
-1998-12-16  a sun  <asun@hecate.darksunrising.blah>
-
-	* sysdep.c (hfs_revalidate_dentry): fix inode dates when there's a
-	timezone change.
-
-1998-12-15  root  <root@hecate.darksunrising.blah>
-
-	* extent.c (new_extent): expand block size variables to handle
-	u32. 
-
-	* mdb.c (hfs_mdb_get): AlBlkSiz shouldn't be capped at 65535. we
-	should be able to handle much larger volumes now.
-
-1998-11-21  a sun  <asun@hecate.darksunrising.blah>
-
-	* hfs_sysdep.h, hfs_fs.h: added hfs_from_utc/to_utc to deal with
-	date differences on hfs formatted media. 
-
-	NOTE: hfs extended keeps everything in utc, so we'll need to deal
-	with that when appropriate.
-
-1998-11-12  a sun  <asun@hecate.darksunrising.blah>
-
-	* extent.c (shrink_fork): added some lock_bitmap/unlock_bitmap's
-	to protect hfs_clear_vbm_bits. we should no longer have problems
-	with free_ablocks wrapping around.
-
-1998-11-02  a sun  <asun@hecate.darksunrising.blah>
-
-	* mdb.c (hfs_mdb_get): plugged up an mdb failed initialization
-	leak.
-
-1998-10-31  a sun  <asun@hecate.darksunrising.blah>
-
-	* version.c (hfs_version): bumped to version 0.96.
-
-	* mdb.c (hfs_mdb_commit): you only write out the alternate MDB
-	when the catalog or extents overflow files grow. that just leaves
-	the btree corruption problems. bleah (whilst deleting a bunch of
-	files, more of the btree can get pruned away than desired).
-
-1998-10-30  a sun  <asun@hecate.darksunrising.blah>
-
-	* dir.c: fixed a bunch of silliness with deletions. make sure to
-	zero out stuff and set mark_inode_dirty().
-	
-1998-10-29  a sun  <asun@hecate.darksunrising.blah>
-
-	* string.c (hfs_strcmp, hfs_streq, hfs_strhash): converted them to
-	take name/len arguments instead of hfs_name to reduce copying.
-
-	* dir.c, dir_nat.c, dir_cap.c, dir_dbl.c, sysdep.c: modified
-	relevant areas to reflect string.c changes.
-	
-1998-10-28  a sun  <asun@hecate.darksunrising.blah>
-
-	* hfs.h (hfs_lookup_dentry): oh my. more silliness. make sure to
-	have the d_lookup use the same hash value as the one generated by
-	hfs_hash_dentry. i also changed the argument order.
-	(hfs_drop_special): change the argument order to be more in line
-	with what the dcache stuff looks like.
-
-	* sysdep.c (hfs_compare_dentry): the compare was returning the
-	wrong value for correct matches and causing all sorts of
-	mischief. this fixes both directory counts and mounting on top of
-	hfs volumes.
-
-	* file.c, file_cap.c, file_hdr.c: added mark_inode_dirty()'s in
-	the relevant places.
-
-1998-10-11  root  <asun@hecate.darksunrising.blah>
-
-	* mdb.c (hfs_mdb_get): moved initialization of mdb->entry_dirty
-	list to here to deal with trying to read a bad hfs volume.
-
-1998-10-10  a sun  <asun@zoology.washington.edu>
-
-	* inode.c, catalog.c, dir_*.c, sysdep.c: parts of the dcache
-	conversion didn't get done properly. specifically, i forgot to
-	move the hfs_cat_puts into the right place. that's fixed now.
-
-1998-09-11  a sun  <asun@purgatorius.zoology.washington.edu>
-
-	* mdb.c: altered mdb struct to reflect hfs plus usage.
-
-1998-08-27  a sun  <asun@purgatorius.zoology.washington.edu>
-
-	* file.c, file_hdr.c, file_cap.c: dealt with the remaining
-	copy_to/from_user() error cases.
-
-1998-08-26  a sun  <asun@purgatorius.zoology.washington.edu>
-
-	* super.c (hfs_read_super): fixed to deal with cdroms. why doesn't
-	the cdrom layer call the partition table code?
-
-Wed Jan 21 14:04:26 1998  a sun  <asun@zoology.washington.edu>
-
-	* inode.c, sysdep.c
-	use d_iput to uncache dentry from catalog entry instead of relying
-	on put_inode. no more NULL pointer dereferences!
-
-	* catalog.c
-	cleaned up hfs_cat_put a little.
-	
-	ISSUES (non-fatal): mv dir dir2 while creating files in dir screws
-	                    up directory counts.
-		
-			    deletion using netatalk screws up directory
- 			    counts.
-
-Thu Jan 15 19:14:28 1998  a sun  <asun@zoology.washington.edu>
-
-	* catalog.c
-	make deletion happen when requested instead of waiting until
-	an hfs_cat_put as the dcache can hold onto entries for quite
-	some time.
-
-Wed Jan 14 14:43:16 1998  a sun  <asun@zoology.washington.edu>
-	
-	* catalog.c
-	the current catalog allocation scheme allocates
-	PAGE_SIZE/sizeof(struct hfs_cat_entry) entries at a time and keeps
-	a pool of free entries up to this allocation unit * 8.
-
-	* inode.c
-	make sure to always hfs_cat_put if hfs_iget is going to return
-	NULL.
-
-	* string.c, catalog.c
-	use linux' hashing method to generate hashes. the old hashing was
- 	getting collisions. catalog.c also has a larger hash table to
- 	prevent collisions.
-	
-Tue Jan 13 13:06:01 1998  a sun  <asun@zoology.washington.edu>
-
-	* version.c
-	bumped to 0.95+asun3
-
-	* catalog.c
-	re-wrote to dynamically allocate/delete catalog entries. on a 486,
-	entries fit into the size-256 slab.
-
-Wed Jan  7 19:33:33 1998  a sun  <asun@zoology.washington.edu>
-
-	* inode.c 
-	don't hfs_cat_put gratuitously in hfs_iget. that's a bad
- 	idea and results in screwed up entry counts.
-
-Tue Jan  6 14:38:24 1998  a sun  <asun@zoology.washington.edu>
-
-	* version.c
-	changed it to 0.95+asun2
-
-	* sysdep.c
-	altered catalog entry pruning to make sure that an iput
-	gets done. for some reason, shrink_dcache_parent wasn't
-	doing it.
-
-	* catalog.c
-	added a global dirty list to check for pruning.
-	
-Tue Jan  6 12:29:52 1998  a sun  <asun@zoology.washington.edu>
-
-	* catalog.c
-	re-wrote it to be similar to 2.1.x inode.c. this should
- 	at least make catalog.c SMP safe. 
-
-	* hfs.h, linux/hfs_fs.h
-	moved dentry operations into hfs.h. these probably should
-	be moved somewhere else.
-
-	* super.c, dir_cap.c, dir_nat.c, dir_dbl.c, sysdep.c
-	added dentry ops to hash everything to lowercase.
-
-Sun Dec 28 22:48:53 1997  a sun  <asun@zoology.washington.edu>
-
-	* sysdep.c, catalog.c, hfs.h
-	as a temporary workaround until catalog.c gets re-written, 
-	i flush the dcache if we need more entries. 
-	
-Fri Dec 19 15:11:21 1997  a sun  <asun@zoology.washington.edu>
-
-	* dir_dbl.c
-	statically allocate tmp_name instead of doing it dynamically.
-
-	NOTE: well, those pesky hfs_cat_put messages still aren't gone. in
-	addition, catalog.c needs to be modified to free up some entries
-	when the cache gets filled up. 
-
-Sun Dec 14 11:51:11 1997  a sun  <asun@zoology.washington.edu>
-
-	* linux/hfs_fs.h
-	moved the dentry stuff into within the #ifdef __KERNEL__ 
-	part of hfs_fs.h and cleaned up a little.
-
-Sun Dec 14 11:24:54 1997  a sun  <asun@zoology.washington.edu>
-
-	* dir.c
-	changed hfs_rename to delete all old dentries. hfs_cat_put
-	messages on umount should be a thing of the past now.
-
-Sun Dec 14 01:12:58 1997  a sun  <asun@zoology.washington.edu>
-
-	* dir.c
-	changed mark_inodes_deleted to dget/d_delete/dput the dentry
-	instead of just dropping it. the bytes available should now
-	be updated properly upon deletion.
-
-Wed Dec 10 00:01:25 1997  a sun  <asun@zoology.washington.edu>
-
-	* dir.c
-	changed mark_inodes_deleted to drop the dentry instead of 
-	just deleting it. 
-
-	TODO: bytes available aren't being properly updated when a
-	resource fork gets deleted.
-
-Mon Dec  8 23:22:40 1997  a sun  <asun@zoology.washington.edu>
-
-	* dir_cap.c, dir_nat.c, dir_dbl.c, dir.c
-	* hfs.h, linux/hfs_sysdep.h, linux/hfs_fs_i.h
-	Added code to drop ({dbl,cap,nat}_drop_dentry) invalid
-	dentries when creating or moving a file.
-
-	* inode.c
-	Added code to delete cached dentries when a file gets deleted.
-
-	* current yuckiness: there's an extra hfs_cat_put somewhere. it's
-	harmless but bothersome.
-	
-Thu Dec  4 00:14:03 1997  a sun  <asun@zoology.washington.edu>
-
-	* dir.c, dir_cap.c, dir_nat.c, file.c, file_hdr.c, inode.c,
-	* linux/{hfs_sysdep.h, hfs_fs.h}, version.c:
-	Completed first code dentrification sweep. It mounts! It copies!
-	It dcaches! 
-
-Mon Apr 28 06:58:44 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, INSTALL.sgml, HFS.sgml:
-	Bump version to 0.95 (Woohoo! We're beta!)
-
-	* linux/hfs_fs.h:
-	Modify HFS_SB() and HFS_I() when compiled into the kernel.
-
-	* FAQ.sgml:
-	Add a new question (and its answer):
-	Why does my Macintosh show generic application and document icons?
-
-	* HFS.sgml:
-	Add some URLs and remove the (now empty) FAQ section.
-
-Sun Apr 27 22:17:01 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* HFS.sgml:
-	Don't call the version 1 headers "slightly modified".
-
-	* file_hdr.c, dir_nat.c:
-	Comment some AFPD compatibility stuff.
-
-	* FAQ.sgml:
-	Update for version 0.95.
-
-	* BUG_INFO:
-	Remove the BIG_INFO script since we no longer mention it.
-
-	* README.sgml, INSTALL.sgml, HFS.sgml, Makefile:
-	Split README.sgml into HFS.sgml and INSTALL.sgml.
-	Stop including the document sources in snapshots.
-
-	* file_hdr.c:
-	Fix hdr_truncate() not to truncate the data fork.
-
-Wed Apr 16 23:56:25 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* FAQ.sgml:
-	Bump version to 0.8.4 and add two answers:
-		How to fsck an HFS filesystem.
-		How to generate linux/version.h.
-
-	* version.c, README.sgml:
-	Bump version to 0.8.4.
-
-	* README.sgml, FAQ.sgml, Makefile:
-	Separate the FAQ from the README.
-
-	* linux/hfs_fs.h:
-	Add (struct hfs_fork) to the forward declarations.
-
-Thu Apr 10 05:47:16 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* linux/hfs_sysdep.h:
-	Work around the non-const declaration of test_bit()'s second argument.
-
-	* Makefile:
-	Use .config from the kernel source to check for MODVERSIONS.
-
-Wed Apr  9 07:57:17 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* bnode.c:
-	Check the record table in each bnode as we read it from disk.
-
-	* super.c, mdb.c, hfs.h:
-	Deal with the ATTRIB_CLEAN bit of the MDB properly (in mdb.c).
-
-	* super.c, hfs.h, mdb.c:
-	Search for the alt-MDB rather than using the device size to find it.
-
-Wed Apr  9 03:39:05 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version to 0.8.3.
-
-Mon Apr  7 20:09:56 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* part_tbl.c:
-	Fix to allow bootable CDROMs (which have blocksize != 512) to mount.
-
-	* super.c:
-	Check that blk_size[MAJOR(dev)] is non-NULL before dereferencing.
-
-Sat Apr  5 10:44:42 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_btree.h, binsert.c, brec.c, bfind.c, bins_del.c, bdelete.c:
-	Make btree operations less likely to do
-	nasty things if the tree is corrupted.
-
-	* part_tbl.c, README.sgml:
-	Count partitions from 0 rather than from 1.
-
-Wed Apr  2 23:26:51 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* bdelete.c:
-	Don't bother checking for oversized keys in hfs_bdelete().
-
-	* bdelete.c, bfind.c, binsert.c:
-	Verify key lengths against the maximum given for the tree.
-
-	* Makefile:
-	Check that /usr/include/linux/modversions.h exists before including it.
-	This allows compilation without CONFIG_MODVERSIONS enabled.
-
-Sat Mar 29 13:17:53 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* linux/hfs_fs.h, super.c, file_hdr.c, hfs.h, extent.c, file_cap.c,
-	  dir_dbl.c, dir_nat.c, dir.c, dir_cap.c, binsert.c, catalog.c,
-	  bfind.c:
-	Make (struct hfs_bkey) and (struct hfs_brec) more "abstract".
-
-	* binsert.c:
-	Remove redundant test in hfs_binsert().
-
-Sat Mar 29 05:24:23 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Fix formatting problems in README.sgml and bump version to 0.8.2.
-
-	* extent.c:
-	Fix bug that caused serious headaches with fragmented files.
-
-Fri Mar 28 00:23:18 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version to 0.8.1.
-
-	* btree.c, balloc.c:
-	Commit map nodes to buffers when new map nodes are added.
-
-Thu Mar 27 22:41:07 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* Makefile:
-	Include linux/modversions.h from the gcc command line.
-
-	* mdb.c:
-	Was updating modified date twice in hfs_mdb_commit().
-
-	* linux/hfs_sysdep.h, linux/hfs_fs.h, linux/hfs_fs_i.h,
-	  linux/hfs_fs_sb.h, sysdep.c, trans.c, super.c, hfs_sysdep.h, inode.c,
-	  hfs_fs_i.h, hfs_fs_sb.h, hfs_fs.h, hfs.h, file_cap.c, file_hdr.c,
-	  file.c, dir_nat.c, dir_cap.c, dir_dbl.c, Makefile, dir.c:
-	Rearrange headers in preparation for inclusion in the kernel.
-
-	* hfs_fs_sb.h, hfs_fs.h:
-	Add forward declarations so other code can include these headers.
-
-	* hfs_sysdep.h:
-	Include __constant_hton[ls]() for little-endian machines.
-
-	* hfs_fs.h, hfs_sysdep.h, hfs.h:
-	Move typedefs of hfs_{byte,word,lword}_t from hfs.h to hfs_sysdep.h.
-	Include hfs_sysdep.h from hfs_fs.h.
-
-	* trans.c, super.c, part_tbl.c, string.c, inode.c, mdb.c, hfs_fs_sb.h,
-	  hfs_sysdep.h, hfs_fs.h, hfs.h, hfs_btree.h, file_cap.c, file_hdr.c,
-	  file.c, dir_nat.c, extent.c, dir_dbl.c, dir.c, dir_cap.c, catalog.c,
-	  btree.c, bnode.c, brec.c, bitmap.c, bitops.c, bins_del.c, binsert.c,
-	  bdelete.c, bfind.c, balloc.c:
-	Big type system changes in preparation for kernel inclusion:
-	'[US](8|16|32)' -> 'hfs_[us](8|16|32)' (avoids name space pollution)
-	'hfs_name_t' -> 'struct hfs_name' (allows forward declaration)
-
-	* super.c, hfs_fs.h:
-	Add init_hfs_fs() to super.c for non-module compilation.
-
-Wed Mar 26 07:53:59 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version to 0.8.
-
-	* README.sgml:
-	Special compilation note for DEC Alpha.
-
-	* README.sgml:
-	Note status on non-Intel processors.
-
-	* hfs_fs.h:
-	Use long's for read() and write() on the Alpha.
-
-	* README.sgml:
-	Document the afpd mount option.
-
-	* inode.c:
-	Make files always writable for owner in afpd mode.
-
-Tue Mar 25 23:21:39 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* part_tbl.c:
-	Clean up the error checking code a bit.
-
-Sat Mar 22 19:43:40 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* part_tbl.c:
-	Fixed uninitialized variable in old-style partition code.
-
-	* bins_del.c, bdelete.c:
-	Fix extraneous "bad argument to shift_{left,right}" messages.
-
-	* bitops.c:
-	Note that these routines are now tested on Intel, PPC and Alpha.
-
-	* Makefile:
-	Add -fno-builtin to the CFLAGS.
-
-Fri Feb 14 10:50:14 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_sysdep.h:
-	Don't include <asm/*.h> until after <linux/types.h>.
-
-	* catalog.c:
-	Use volume create date in hashfn() rather than casting pointer to int.
-
-	* hfs.h, mdb.c:
-	Maintaing volume create, modify and backup dates in struct hfs_mdb.
-
-	* hfs_fs.h:
-	Include the header for put_user BEFORE using it!
-
-	* string.c, hfs.h:
-	Make hfs_strhash() return an unsigned int.
-
-	* trans.c, version.c, super.c, mdb.c, part_tbl.c, string.c, inode.c,
-	  hfs_sysdep.h, hfs_fs.h, hfs_fs_sb.h, hfs_btree.h, hfs.h, file_cap.c,
-	  file_hdr.c, extent.c, dir_dbl.c, dir_nat.c, dir_cap.c, dir.c,
-	  catalog.c, btree.c, bnode.c, brec.c, bitmap.c, binsert.c,
-	  bins_del.c, bdelete.c, balloc.c, README.sgml, Makefile:
-	Updated copyright notices.
-
-	* trans.c, part_tbl.c, string.c, super.c, inode.c, mdb.c, hfs_fs.h,
-	  hfs_fs_sb.h, hfs_sysdep.h, hfs_btree.h, hfs.h, file_cap.c,
-	  file_hdr.c, dir_nat.c, extent.c, dir_cap.c, dir_dbl.c, catalog.c,
-	  dir.c, brec.c, btree.c, bitmap.c, bnode.c, bdelete.c, bins_del.c,
-	  binsert.c, Makefile, TODO, balloc.c:
-	First shot at portability to the DEC Alpha and non-gcc compilers.
-	This involved a significant overhaul of the type system.
-
-Tue Feb  4 04:26:54 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version to "pre-0.8-4".
-
-	* dir_nat.c:
-	Allow creat() in Netatalk .AppleDouble directories.
-
-	* dir_dbl.c:
-	Make local functions static.
-
-	* dir_dbl.c:
-	Removed unnecessary 'extern' qualifiers from forward declarations.
-
-	* file_hdr.c, TODO:
-	Fixed the 30-year time warp with afpd.
-
-	* TODO, trans.c:
-	Don't mangle the name .AppleDesktop under fork=netatalk.
-
-Mon Feb  3 23:18:45 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* inode.c:
-	Make header files always writable when the afpd mount option is given.
-	Otherwise it is impossible to unlock a locked file.
-
-	* TODO, inode.c:
-	Let afpd think chmod() always succeeds, so "New Folder" works right.
-
-	* super.c:
-	The 'afpd' mount option now makes 'fork=n,names=n' the default.
-
-	* TODO:
-	List the current known afpd-compatibility problems as bugs.
-
-	* file_hdr.c:
-	Make certain date changes through header files get written to disk.
-
-Sat Feb  1 02:24:12 1997  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* mdb.c:
-	Work around for Linux rounding device sizes to 1k increments.
-
-	* README.sgml:
-	Fixed a typo: "the a".
-
-Sat Dec 28 20:41:01 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* TODO:
-	Add ioctl() interface as a "missing feature."
-
-	* dir_nat.c:
-	Finish implementing the afpd-compatibility
-	mode using the new 'afpd' mount option.
-
-	* hfs_fs_sb.h, super.c:
-	Add new 'afpd' mount option.
-
-	* file_cap.c:
-	Spelling fix.
-
-Wed Dec 11 23:16:08 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* TODO, README.sgml:
-	Optimistically document the hybrid CD problem as fixed.
-
-	* part_tbl.c:
-	Fix the partition code so at least some of the hybrid
-	CDROMs that were previously rejected are now accepted.
-
-	* hfs.h:
-	Make fs_start a 32-bit integer rather than 16-bits.
-	The 16-bit value would overflow if a partition started
-	beyond the 32M mark (e.g. the Executor 2 Beta 1 CDROM).
-
-	* extent.c:
-	Fixed a typo in an error message.
-
-Tue Dec 10 14:43:46 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* dir_nat.c:
-	Merge in the (still dormant) afpd-compatibility changes.
-
-	* inode.c:
-	Make the .AppleDouble directory writable (again).
-
-	* version.c, README.sgml:
-	Bump version up to "pre-0.8-3".
-
-	* hfs_fs.h, file_cap.c, file_hdr.c:
-	Move AFP constants to hfs_fs.h and prefix them with "HFS_".
-
-	* dir_nat.c, inode.c:
-	Back-out changes that allowed writing to the .AppleDouble directory.
-
-	* Makefile:
-	Update rules for linuxdoc-sgml v1.5.
-
-	* extent.c:
-	Fixed serious bug in decode_extent() with handling of empty extents.
-
-	* file.c:
-	Rewrote hfs_getblk().
-	It will no longer hang if hfs_extent_map() is buggy.
-	Also halves the worst-case number of calls to hfs_extent_map().
-
-	* extent.c:
-	Fixed serious bug in decode_extent() with handling of empty extents.
-
-	* hfs_fs.h:
-	Small change so the PPC (and maybe other architectures?)
-	pick up the prototypes for the user-space access functions.
-
-	* super.c, file_cap.c, file_hdr.c, hfs_fs.h, file.c:
-	Updated for new user-space memory interface.
-
-Sun Dec  8 11:49:36 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* dir_nat.c:
-	Add special code for unlink(), and rename() in the .AppleDouble
-	directory and rmdir() of the .AppleDouble directory.
-
-	* inode.c:
-	Make the .AppleDouble directory writable.
-
-	* file_hdr.c:
-	Use AFP flags in version 1 headers (for Netatalk compatibility).
-
-	* trans.c:
-	Fixed bug with long names causing kernel Oops.
-
-Mon Oct  7 06:05:01 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs.h, file_cap.c, file_hdr.c, hfs.h, extent.c, file.c, dir.c:
-	Fix types for various read/write/truncate computations.
-	Also allows compilation with 2.1.x kernels.
-
-Thu Sep 19 10:28:43 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* README.sgml, version.c:
-	Bump version up to "pre-0.8-2".
-
-	* TODO:
-	Reformat the To Do list introducing prioritized categories.
-
-	* file_hdr.c, file.c:
-	Move comments about mmap() for headers from file.c to file_hdr.c.
-	Also revise the reasoning for not yet having it implemented.
-
-	* dir_nat.c, dir_cap.c, dir_dbl.c:
-	Remove 'hfs_' prefix from names of some purely local functions.
-
-	* dir_dbl.c, TODO:
-	Under AppleDouble make create(), mkdir(), mknod(), unlink(), rename()
-	and rename() check against header files when arguments start with '%'.
-
-	* super.c, hfs_fs_sb.h, hfs_fs.h, dir_dbl.c, dir_nat.c, dir_cap.c,
-	  dir.c, README.sgml:
-	Fix problem that prevented creating %RootInfo or .rootinfo in all
-	directories in addition to preventing deletion from the root directory.
-
-	* TODO:
-	Remove writable header files from the To Do list.
-
-	* README.sgml:
-	Add extensive discussion of writing to HFS filesystems and
-	the format of the special files.
-
-	* file_hdr.c:
-	Generate the 'homefs' field for version 1 header files.
-
-Wed Sep 18 23:07:45 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs.h, file_cap.c:
-	Comment the definition of (struct hfs_cap_info).
-
-	* version.c, README.sgml:
-	Bump version up to "pre-0.8-1" and update the "How can I write?" FAQ.
-
-	* file_hdr.c:
-	Implement hdr_write() and hdr_truncate()!!
-
-	* hfs_fs_i.h, inode.c:
-	Make hdr_layout per-inode (not per-file) so hdr_truncate() will work.
-
-	* file.c, hfs.h, catalog.c, extent.c, balloc.c:
-	hfs_extent_adj() now uses fork->lsize to determine the target file size.
-
-Sun Sep 15 07:55:24 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* README.sgml, trans.c:
-	Prevent creation of files & directories with '\0' or ':' in their names.
-
-	* string.c, hfs_fs.h, hfs.h, dir_dbl.c, dir_nat.c, dir_cap.c:
-	With case=lower could have run off end of string.
-
-Tue Sep 10 12:05:47 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* inode.c:
-	Small clean up of HFS_FIL_LOCK handling.
-
-	* inode.c:
-	Fix notify_change() not to accidentally make metadata executable.
-
-	* hfs_fs.h:
-	AppleSingle files should have HFS_ITYPE_NORM.
-
-	* inode.c:
-	Return to old behavior where MdDat = i_mtime.
-
-	* dir_dbl.c:
-	Fix serious bug in hfs_dbl_readdir() that would lock-up access to a
-	directory if one tried to write to a directory they had previously read.
-
-	* file.c:
-	Fix hfs_do_write() to adjust the fork's 'lsize' if it changed.
-
-	* inode.c, file_cap.c:
-	Allow truncate() to be called even on metadata.
-	Any size changes will last only until the next iput() of the inode.
-	Truncating a header file doesn't yet truncate the resource fork.
-
-	* inode.c:
-	Allow chmod() on a directory if it doesn't actually change i_mode.
-
-	* hfs_fs.h, trans.c, super.c:
-	Rename hfs_cap2mac() to hfs_colon2mac().
-	Rename hfs_apl2mac() to hfs_prcnt2mac().
-
-	* file_hdr.c:
-	Move header construction out of hdr_read() to create hdr_build_meta().
-
-	* hfs.h:
-	Add byte-order independent conversions: U32->U16, U32->U8 and U16->U8.
-
-	* file.c, file_cap.c, hfs_fs.h:
-	Rename fix_perms() to hfs_file_fix_mode() and
-	move it from file_cap.c to file.c.
-
-	* README.sgml, super.c:
-	Make the default for the names mount option vary with the fork option.
-
-	* file_cap.c:
-	The umask was applied incorrectly in fix_perms().
-
-Mon Sep  9 13:11:28 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* README.sgml:
-	Note that it compiles on m68k machines, but needs more testing.
-
-	* hfs_sysdep.h, Makefile:
-	Changes to compile unmodified on m68k (and possibly other machines).
-
-	* dir_cap.c:
-	hfs_cap_readdir() was mistakenly producing .rootinfo entries for
-	the .finderinfo and .resource subdirectories of the root directory.
-
-	* inode.c:
-	A directory's i_size was too small by 1 under CAP, so hfs_cap_readdir()
-	would omit the last directory entry.  i_nlink was also too large by 1.
-
-Sun Sep  8 12:56:06 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* file_hdr.c:
-	Rewrite hdr_read() to be more efficient and to deal correctly with
-	descriptors having lengths that differ from the actual size of the data.
-
-	* file_cap.c:
-	Add write support for CAP finderinfo files!!
-
-	* super.c, inode.c, hfs_fs.h, hfs_fs_i.h, hfs_fs_sb.h, file_dbl.c,
-	  file_nat.c, file_hdr.c, file.c, file_cap.c, Makefile, dir.c:
-	Generate metadata (header files and CAP finderinfo files) on-the-fly.
-	The files file_{dbl,nat}.c are merged into file_hdr.c as a result.
-
-Sat Sep  7 08:09:24 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* README.sgml:
-	Fix silly grammatical error.
-
-Fri Sep  6 09:17:12 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs_sb.h, super.c:
-	No need to cast type of s_reserved.
-
-	* file_dbl.c, file_nat.c, dir_dbl.c, dir_nat.c, file_cap.c, dir_cap.c:
-	Add the missing NULL readpage and writepage entries to the inode_ops.
-
-	* file_dbl.c, file_nat.c, file.c, file_cap.c:
-	Cleanup error checking for read() and write().
-
-Thu Sep  5 05:29:53 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version up to "0.7.2".
-	User-visible changes from 0.7.0:
-	+ Corrected CAP finderinfo file format.
-	+ Support for more features of CAP finderinfo files.
-	+ No longer requires gcc 2.7.0 or newer.
-	+ Now implements mknod() system call.
-
-	* hfs_fs.h, dir_nat.c, file_cap.c, file_nat.c, README.sgml, dir_cap.c:
-	Include the CAP and Netatalk copyright notices.
-
-	* hfs_fs.h, file_cap.c:
-	Repair and improve CAP support.
-
-	* catalog.c:
-	Oops! The BkDat for new files and directories was in 1972 when
-	it should have been in 1904 (not that it matters that much).
-
-	* inode.c:
-	The HFS MdDat should be the larger of the i_mtime and i_ctime.
-
-	* README.sgml:
-	Change 'm_time' to 'i_mtime'.
-
-Wed Sep  4 13:27:35 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version up to "0.7.1".
-	User-visible changes from 0.7.0:
-	+ Minor bug in CAP finderinfo file format fixed.
-	+ No longer requires gcc 2.7.0 or newer.
-	+ Now implements mknod() system call.
-
-	* README.sgml:
-	Removed note about needing gcc 2.7.0 or newer.
-
-	* file.c:
-	Optimize hfs_do_read() based on the fact that HFS has no holes in files.
-	Minor code formatting changes.
-
-	* hfs.h, hfs_sysdep.h, mdb.c, extent.c, file.c, btree.c, catalog.c,
-	  balloc.c, bnode.c:
-	Reorganize memory management routines.
-	hfs_malloc() and hfs_free() are the main routines.
-	The macros FREE() and MALLOC() are gone.
-	HFS_NEW() and HFS_DELETE() are new 'shorthand' macros.
-
-	* btree.c:
-	Fix broken debugging code.
-
-	* super.c, hfs.h, mdb.c, part_tbl.c, Makefile:
-	Separate partition table handling into its own file.
-
-	* dir.c:
-	Spelling fixes.
-
-	* sysdep.c:
-	Oops!  Error check got sense reversed while editing.
-
-	* mdb.c, sysdep.c, hfs.h, hfs_btree.h, hfs_sysdep.h, btree.c, extent.c,
-	  bfind.c, bnode.c, balloc.c:
-	Make hfs_buffer a pointer to a buffer_head, rather than a buffer_head.
-
-	* hfs_fs.h, dir_cap.c, dir_dbl.c, dir_nat.c, dir.c:
-	Add a mknod() entry to the inode_operations for normal directories.
-	All it is good for is letting root create regular files.
-
-	* file_dbl.c, file_nat.c, file.c, file_cap.c, dir_cap.c, dir_dbl.c,
-	  dir_nat.c:
-	Add the missing NULL entries to the end of the file_operations.
-
-	* super.c, hfs_btree.h, hfs_fs.h, mdb.c, extent.c, hfs.h, catalog.c:
-	Make the remainder of the (untested) changes
-	to allow compilation with gcc 2.6.3.
-
-	* hfs_fs.h:
-	Fix hfs_fs.h to work with gcc 2.6.3.
-
-	* hfs_fs.h:
-	(struct hfs_cap_info) should never have been 'packed'.
-
-	* BUG_INFO:
-	Use -V for getting version of module utilities.
-
-	* super.c, sysdep.c, trans.c, hfs_fs_sb.h, inode.c, hfs_fs.h,
-	  hfs_fs_i.h, file_cap.c, file_dbl.c, file_nat.c, dir_dbl.c,
-	  dir_nat.c, file.c, dir.c, dir_cap.c:
-	Fix up hfs_fs{,_i,_sb}.h in preparation for inclusion in kernel.
-
-Tue Sep  3 23:58:03 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs.h:
-	Change eventual destination to linux/fs/hfs rather than include/linux.
-
-	* super.c, inode.c, mdb.c, hfs_btree.h, hfs_fs.h, hfs_sysdep.h,
-	  file_dbl.c, file_nat.c, hfs.h, dir_nat.c, extent.c, dir_dbl.c,
-	  catalog.c, dir_cap.c, brec.c, btree.c, binsert.c, bnode.c, bdelete.c,
-	  bfind.c, bins_del.c, balloc.c:
-	Replace all the swap{16,32}() stuff w/ ntohl() and friends.
-
-Fri Aug 30 09:51:23 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Rewrite installation instructions and bump version up to "0.7.0".
-
-	* Makefile:
-	Remove the INCDIR variable; we now rely on the
-	user to have the correct links in /usr/include.
-
-Mon Aug 26 12:25:41 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Reformat the documentation and bump version up to "pre-0.7-9".
-	Hopefully this will become version 0.7 in a few days.
-
-Thu Aug 22 08:00:44 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* README.sgml, version.c:
-	Bump version up to "pre-0.7-8".
-
-	* file_nat.c, file_dbl.c:
-	AppleDouble headers had resource fork size in wrong byte order.
-
-Wed Aug 21 05:22:28 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version up to "pre-0.7-7".
-
-	* bnode.c:
-	Fixed a long-standing bug in hfs_bnode_lock().
-	This bug occasionally caused lock-up under heavy load.
-
-Tue Aug 20 09:15:10 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* README.sgml, version.c:
-	Bump version up to "pre-0.7-6".
-
-	* catalog.c:
-	Fix a deadlock problem in catalog readers/writers locking.
-
-	* bins_del.c:
-	hfs_bnode_update_key() was still corrupting the header node sometimes.
-
-	* catalog.c, dir.c:
-	Fix problem with extending the catalog B-tree hanging hfs_cat_commit().
-	Fix a race that could delete a non-empty directory.
-
-Sun Aug 18 23:16:43 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version to "pre-0.7-5" for test release.
-
-	* dir_cap.c, README.sgml:
-	Change ".:rootinfo:" to ".rootinfo".
-
-	* hfs_fs.h, dir_cap.c, dir_dbl.c, dir_nat.c:
-	Mangle the names as first step in hfs_{cap,dbl,nat}_lookup().
-	Use the new hfs_streq() to catch mixed case matches to the special
-	files and directories in hfs_{cap,dbl,nat}_lookup().
-	Store reserved names only once.
-
-	* dir.c, hfs.h, string.c:
-	Implement hfs_streq() which tests for string equality more
-	rapidly than hfs_strcmp() by checking for equal length first,
-	and use it when checking for reserved names.
-
-	* inode.c, TODO, dir_cap.c, dir_dbl.c, README.sgml:
-	Provide the metadata for the root directory for the CAP and AppleDouble
-	schemes in the files ".:rootinfo:" and "%RootInfo", respectively.
-
-	* TODO, super.c:
-	Add (untested) support for the old Mac Plus style of partition map.
-
-	* bdelete.c, TODO:
-	Note the possibility of bdelete() to hanging on a corrupted B-tree.
-
-	* TODO:
-	Add items corresponding to some of the 'XXX' comments in the sources.
-
-	* dir_dbl.c, dir_cap.c:
-	Update comments, removing ref. to a comment that once existed in inode.c
-
-	* catalog.c:
-	Remove some redundant locking and error checks
-	that had been previously marked as questionable.
-
-Sat Aug 17 08:06:56 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* binsert.c, bfind.c, bins_del.c, balloc.c, bdelete.c:
-	Edited some comments for correctness.
-
-	* README.sgml, version.c:
-	Bump version up to "pre-0.7-4" in preparation for snapshot release.
-
-	* Makefile:
-	Have 'make dep' delete the *.o and *.s files.
-
-	* catalog.c, hfs.h, TODO, bfind.c:
-	Move looping from hfs_cat_next() into hfs_bsucc(),
-	where it can be done an entire node at a time.
-
-Fri Aug 16 05:02:59 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* TODO:
-	Add AppleShare support to the list of goals.
-
-	* trans.c, super.c, hfs_fs.h, README.sgml:
-	Add a "names=netatalk" mount option, since
-	Netatalk quotes initial periods and CAP doesn't.
-
-	* Makefile:
-	Oops! Had removed the 'include .depend' from Makefile.
-
-	* inode.c, hfs_fs.h, file_nat.c, file_dbl.c, file.c, dir_nat.c,
-	  dir_dbl.c, dir_cap.c, dir.c, README.sgml:
-	Update for 2.0.1 and newer kernels.
-
-	* Makefile:
-	Get rid of ifeq stuff and use a .tmpdepend file to make sure
-	a failed 'make depend' doesn't allow a 'make hfs.o'.
-
-Wed Aug 14 01:03:01 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump version up to "pre-0.7-3" in preparation for snapshot release.
-
-	* btree.c, extent.c, bnode.c:
-	Fix up some debugging code.
-
-Tue Aug 13 12:42:12 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* version.c, README.sgml:
-	Bump revision to "pre-0.7-2".
-
-	* super.c, sysdep.c, mdb.c, file_nat.c, inode.c, file_cap.c,
-	  file_dbl.c, file.c, extent.c, dir.c, catalog.c, btree.c, bnode.c,
-	  balloc.c:
-	Added the remaining missing function comments.
-
-	* Makefile, README.sgml:
-	Simplify the default make rule to build the dependency file AND hfs.o.
-	Change the installation instructions to reflect the change.
-
-	* hfs.h:
-	Added missing structure comments.
-
-	* bdelete.c:
-	Merge bdelete_brec() back into hfs_bdelete().
-	Add missing function comments.
-
-
-	* extent.c:
-	Insignificant code change removing an unneeded indirection.
-
-	* btree.c, hfs_btree.h, balloc.c, bnode.c:
-	Add a 'sys_mdb' field to (struct hfs_btree).
-
-	* extent.c, hfs_sysdep.h, sysdep.c, bnode.c, balloc.c, bfind.c,
-	  Makefile:
-	Move hfs_buffer_read() from hfs_sysdep.h to sysdep.c so it can use
-	the symbol HFS_SECTOR_SIZE rather than the manifest constant 512.
-	Have hfs_buffer_read() print an error message,
-	and remove redundant errors from the callers.
-
-	* hfs_sysdep.h, mdb.c, super.c, file.c, hfs.h, hfs_btree.h, catalog.c,
-	  extent.c, btree.c, balloc.c, bfind.c, bnode.c:
-	Get rid of the type hfs_device and the fields of that type,
-	using the type hfs_sysmdb and the 'sys_mdb' field in its place.
-
-	* Makefile:
-	Fix definition of HDRS variable.
-
-	* README.sgml, version.c:
-	Bump version up to "pre-0.7-1".
-
-	* Makefile:
-	Separate sources and headers into three groups:
-	B-tree code, HFS code and Linux code.
-
-	* bitmap.c, bitops.c, hfs.h, hfs_sysdep.h, balloc.c:
-	Implemented portable set of bit operations in hfs_sysdep.h
-
-	* mdb.c, hfs_sysdep.h, hfs_btree.h, extent.c, btree.c, bitmap.c,
-	  bnode.c, balloc.c:
-	Implement a portable set of buffer operations in hfs_sysdep.h
-
-	* TODO:
-	Remove note about separating header files into two parts.
-
-	* catalog.c:
-	Remove call to hfs_mdb_dirty(), since the hfs_brec_relse() does it.
-
-	* hfs.h, extent.c, file.c:
-	Move hfs_getblk() from extent.c to file.c, since that is now the
-	only file that actually uses it.
-
-	* balloc.c:
-	Replace use of hfs_getblk() in balloc.c with a local function
-	(get_new_node()) that doesn't retry, since B-trees can't shrink.
-
-	* hfs.h, hfs_btree.h, hfs_sysdep.h, mdb.c, extent.c:
-	Make hfs_buffer a typedef.
-
-	* inode.c, hfs.h, hfs_sysdep.h, dir.c:
-	Change hfs_sysentry to a typedef.
-	Rename 'sysentry' field of (struct hfs_cat_entry) to 'sys_entry'.
-
-	* super.c, mdb.c, catalog.c:
-	Rename hfs_cat_sync() to hfs_cat_commit() and call it
-	from hfs_mdb_commit() rather than from hfs_write_super().
-
-	* catalog.c, file.c:
-	Minimize the calls to hfs_mdb_dirty().   Now called when:
-	1) A buffer holding a volume bitmap block is dirtied.
-	2) A dirty B-tree node is written back to the buffers.
-	3) A dirty catalog entry is written back to the buffers.
-
-	* hfs_sysdep.h, hfs.h:
-	Make hfs_sysmdb a typedef.
-
-Sun Aug 11 08:46:10 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_sysdep.h, extent.c, hfs.h:
-	Replace hfs_mdb_{lock,unlock} with more portable
-	scheme using a wait queue in the MDB.
-
-	* hfs.h, hfs_btree.h, hfs_sysdep.h, bnode.c, catalog.c, binsert.c:
-	Make hfs_wait_queue a typedef'd pointer to a (struct wait_queue).
-	Rename hfs_wait_on() to hfs_sleep_on().
-
-	* catalog.c, hfs_sysdep.h, super.c, bfind.c, bnode.c, balloc.c:
-	Implemented hfs_dev_name() in hfs_sysdep.h
-	as a portable call to produce a device name.
-
-	* super.c, hfs.h, mdb.c:
-	Rename hfs_mdb_read() to hfs_mdb_get(), and don't take a
-	'sys_mdb' argument.  That's the callers responsibility.
-
-	* sysdep.c, Makefile:
-	Remove the pointless file sysdep.c
-
-	* README.sgml:
-	Clean up the "System Requirements" section.
-
-Sat Aug 10 22:41:24 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* sysdep.h, sysdep.c, super.c, hfs_sysdep.h, mdb.c, string.c,
-	  hfs_fs.h, hfs_fs_i.h, hfs_fs_sb.h, hfs_btree_private.h, hfs_btree.h,
-	  file_cap.c, file_dbl.c, file_nat.c, hfs.h, file.c, dir_nat.c,
-	  extent.c, dir.c, dir_cap.c, dir_dbl.c, catalog.c, bnode.c, brec.c,
-	  btree.c, binsert.c, bitmap.c, bitops.c, bfind.c, bins_del.c,
-	  Makefile, balloc.c, bdelete.c:
-	Includes the hfs.h that was missing from the previous check in.
-	MAJOR include-file cleanup:
-		hfs_btree.h merged into hfs.h
-		hfs_btree_private.h renamed hfs_btree.h
-		sysdep.h renamed hfs_sysdep.h
-	Fixed some minor portability fixes shown up by the header split.
-
-	* README.sgml:
-	Add instructions for a dealing with a missing linux/version.h
-
-	* hfs_fs.h, mdb.c, string.c, catalog.c, extent.c, btree.c, bitmap.c,
-	  bitops.c, bnode.c, brec.c, bins_del.c, binsert.c, bdelete.c, bfind.c,
-	  balloc.c:
-	Major split of hfs_fs.h into Linux-specific
-	part (hfs_fs.h) and HFS-specific part (hfs.h).
-
-	* file.c, extent.c:
-	Move hfs_getblk() from file.c to extent.c
-
-	* sysdep.h, super.c, mdb.c, hfs_fs_sb.h, hfs_fs.h, file.c, extent.c,
-	  catalog.c, bnode.c, bitmap.c:
-	Make the field 's_mdb' in (struct hfs_sb_info) a pointer to
-	the MDB, rather than the actual MDB.  This allowed the definition
-	of (struct hfs_mdb) to be moved from hfs_fs_sb.h to hfs_fs.h.
-
-	* ccache.c, hfs_fs.h, Makefile, catalog.c:
-	Merged ccache.c and catalog.c into the latter.
-	Moved definition of (struct hfs_cat_rec) into catalog.c
-
-	* extent.c:
-	Oops!  Last set of changes didn't compile but they're OK now.
-
-	* hfs_btree.h, hfs_fs.h, mdb.c, ccache.c, extent.c, btree.c:
-	Move the definition of (struct hfs_raw_extent) inside
-	extent.c and treat it as simple array of U16's elsewhere.
-
-	* hfs_fs.h, dir_dbl.c, dir_nat.c, ccache.c, catalog.c, dir_cap.c:
-	Make hfs_cat_next() return the CNID and cdrType of the entry.
-	Now catalog.c and ccache.c are the only files which
-	depend on the structure of a catalog record on disk.
-
-	* dir.c, hfs_fs.h, catalog.c:
-	Replace hfs_cat_new_{file,dir}() with hfs_cat_{create,mkdir}()
-	which are wrappers for what used to be hfs_cat_create().
-
-	* hfs_fs.h, mdb.c, super.c, Makefile:
-	Split super.c into super.c (Linux stuff) and mdb.c (MDB stuff).
-
-	* super.c, hfs_fs_sb.h:
-	Add the MDB field 'drAtrb' to (struct hfs_mdb) as the field 'attrib'.
-
-	* hfs_fs_sb.h, super.c:
-	Split hfs_read_super() into hfs_read_super() and hfs_mdb_read().
-
-	* super.c, hfs_fs_sb.h:
-	Remove the unneeded 'hs' field from (struct hfs_mdb).
-
-	* TODO:
-	Remove item about hfs_notify_change() needing to update metadata.
-
-	* inode.c, hfs_fs.h, hfs_fs_sb.h, file_cap.c, file_dbl.c, file_nat.c,
-	  file.c, dir.c:
-	Add a flags argument to hfs_{cap,dbl,nat}_buildmeta() so that
-	it only builds the parts that are currently out-of-date.
-	Call hfs_{cap,dbl,nat}_buildmeta() through hfs_update_meta()
-	in hfs_notify_change() and hfs_rename() to update the metadata.
-
-	* dir.c:
-	Make test for normal dir in update_dirs_{plus,minus}() more explicit.
-
-	* inode.c, file_cap.c, file_dbl.c, file_nat.c, dir_dbl.c, dir_nat.c,
-	  file.c, README.sgml, dir_cap.c:
-	Resolve the "meta-data" vs. "metadata" rivalry in favor of the latter.
-
-	* btree.c:
-	Simplify some debugging code.
-
-	* hfs_btree_private.h, bnode.c, btree.c, balloc.c:
-	Put the in-core copy of the header node IN the
-	B-tree structure rather than just a pointer to it.
-
-	* hfs_btree_private.h, btree.c, bnode.c:
-	Have hfs_btree_commit() call hfs_bnode_commit()
-	to commit the header and root nodes.
-
-	* hfs_fs.h, super.c, hfs_btree_private.h, btree.c, hfs_btree.h,
-	  balloc.c:
-	Change hfs_commit_mdb() to hfs_mdb_commit().
-	Make hfs_mdb_commit() call hfs_btree_commit().
-	Move code to update B-tree size and extent
-	from hfs_btree_extend() to hfs_btree_commit().
-	Make hfs_btree_extend() call hfs_mdb_commit().
-
-	* super.c:
-	Change hfs_commit_super() to hfs_commit_mdb().
-
-	* btree.c, bnode.c, bfind.c:
-	Fixed up broken debugging code and error messages.
-
-	* super.c, hfs_btree_private.h, btree.c, hfs_btree.h, bdelete.c,
-	  binsert.c, balloc.c:
-	Now use write-back caching of B-tree header fields.
-
-	* hfs_fs.h:
-	Get rid of the add{16,32}() inlines as they are no longer used.
-
-	* hfs_btree_private.h, binsert.c, btree.c, bdelete.c, bfind.c, balloc.c:
-	All the needed fields of the B-tree header are
-	now cached for reading, but not yet writing.
-
-	* TODO:
-	Remove "Implement write count" from TODO list.
-
-	* file.c, super.c, bnode.c:
-	Implement write count.
-
-	* catalog.c:
-	Fix directory entry counting in hfs_cat_move().
-
-	* balloc.c:
-	Simplify hfs_btree_extend(), since the allocation
-	request will get rounded up to the clumpsize.
-
-	* extent.c:
-	Honor clumpsize when allocating blocks to files.
-
-	* file_cap.c, file_dbl.c, file_nat.c, super.c, dir.c, file.c,
-	  ccache.c, catalog.c, balloc.c:
-	Mark 44 functions in need of commenting.
-
-	* hfs_fs_sb.h, super.c, extent.c, hfs_fs.h, ccache.c, btree.c, balloc.c:
-	Record clumpsize in allocation blocks rather than 512-byte blocks.
-
-	* sysdep.h, super.c, TODO, balloc.c, hfs_fs_sb.h:
-	Now updates the backup MDB when a B-tree grows.
-
-	* extent.c:
-	hfs_extent_free() had test against NULL backward.
-	The result is that access to a file with extents in the extents
-	B-tree would result in an infinite loop in hfs_cat_put().
-
-	* hfs_fs_sb.h, super.c, hfs_fs.h:
-	Reorganize partition map code to get size of partition
-	in preparation for dealing with the alternate MDB.
-
-Fri Aug  9 03:25:13 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* Makefile:
-	Add make rules for README.{ps,info}
-
-	* README, README.sgml, DOC, FAQ, Makefile, .cvsignore, 
-	Merge CHANGES into ChangeLog.
-	Merge DOC, FAQ and README into README.sgml.
-	Add make rules for building README.{txt,dvi}
-
-	* BUG_INFO, Makefile:
-	Added a BUG_INFO script which attempts to collect some useful
-	information which I'd like to see in every bug report I receive.
-
-	* Makefile, version.c:
-	Added version.c which contains a version string.
-
-Thu Aug  8 21:48:24 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* trans.c:
-	Fix Latin-1 -> Macintosh filename mapping to change colons to pipes.
-
-	* trans.c:
-	Fixed Mac->Latin-1 translation to behave as documented for the
-	extended 8-bit characters without corresponding Latin-1 characters.
-
-	* inode.c, super.c, file.c, hfs_fs_i.h, hfs_fs_sb.h, DOC:
-	Added a conv={binary,text,auto} mount option similar to that of the
-	msdos, hpfs and iso9660 filesystems, but applying only to data forks.
-	As compared to those filesystems, HFS has the advantage that only a
-	single CR need be converted to a NL, rather than a CR/NL sequence, so
-	it is quite safe to seek in the file.
-	Additionally the 'Type' field is far more reliable indicator of text
-	files than a file extension.
-
-	* super.c:
-	Simplified parsing of mount options.
-
-	* super.c:
-	Oops!  The part=<n> mount option was being parsed in octal!
-
-	* TODO:
-	Remove "case=lower" from the list of goals.
-
-	* super.c, hfs_fs.h, hfs_fs_sb.h, string.c, dir_dbl.c, dir_nat.c,
-	  dir_cap.c, DOC:
-	Resurrect the case={asis,lower} mount option.
-
-	* dir.c:
-	Simpler test for "normal" directory in update_dirs_{plus,minus}().
-
-	* hfs_fs_sb.h, super.c, dir.c, hfs_fs.h, catalog.c, DOC:
-	Add mount options to specify what Type and Creator will be used for
-	new files and change the default from NULLs to "????".
-
-Wed Aug  7 11:32:22 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* catalog.c:
-	In hfs_cat_next() use entry->cnid rather than the key of the initial
-	brec to identify the end of the directory.
-
-	* README:
-	Update for pre-0.7 version.
-
-	* hfs_fs.h:
-	Create versioned module if CONFIG_MODVERSIONS is set in linux/config.h
-
-	* TODO:
-	Note need for special steps for unaligned accesses on some machines.
-
-	* FAQ:
-	Added Q0: What is HFS?
-	Added Q7: Does hfs_fs work w/ 400k and 800k diskettes?
-	Brought Q6 (about writability) up to date.
-	Made a few other answers more verbose.
-
-Tue Aug  6 00:58:46 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* Makefile:
-	Changed 'snapshot' rule to include cvs tag command.
-
-	* hfs_fs.h, dir_cap.c, dir_dbl.c, dir_nat.c, catalog.c, ccache.c:
-	Implemented readers half of dir locking scheme so readdir() should
-	produce consistent results and count_dir_entries() is not race prone.
-
-	* catalog.c:
-	hfs_cat_move() was calling hfs_cat_decache() after changing
-	the key rather than before, corrupting the hash lists.
-
-Mon Aug  5 14:03:46 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs.h, catalog.c:
-	Implemented the writers half of a locking scheme for directories.
-
-	* inode.c:
-	Fixed a serious bug in hfs_notify_change() that would allow a chmod()
-	on directory meta-data and would cause the directory inode (if it was
-	in memory at the time) to change into a file inode.
-
-	* inode.c:
-	Fixed a problem with write permissions on directory meta-data.
-
-	* dir_dbl.c, dir_nat.c, dir_cap.c:
-	hfs_{cap,dbl,nat}_readdir() now return the correct value in the 'd_ino'
-	field of the dirent for all cases, something I think has always been
-	done incorrectly until now.
-
-	* dir_nat.c, inode.c, dir_cap.c:
-	In hfs_{cap,nat}_lookup() take advantage of the
-	'file_type' field of (struct hfs_inode_info).
-
-	* TODO:
-	Removed two accomplished goals (rename() and improved readdir()).
-
-	* inode.c, dir_dbl.c, dir_nat.c, hfs_fs_i.h, dir.c, dir_cap.c:
-	Rewrite hfs_{cap,dbl,nat}_readdir() to take advantage of hfs_cat_next().
-	They now use a uniform 'i_size' for all inodes for a given directory.
-	This simplifies update_dirs_{plus,minus}() and eliminates the need for
-	the 'file_size' and 'dir_link' fields of (struct hfs_inode_info).
-	For the CAP and Netatalk schemes the meta-data directories are now the
-	last entries rather than coming just after '.' and '..'.  This is in
-	preparation for the day when we can write to the files in those
-	directories, and ensures that when using 'tar' to copy HFS filesystems
-	the file or directory will be created before the meta-data is written.
-	Otherwise we could be stuck writing meta-data and not knowing if it is
-	for a file or a directory!
-
-	* ccache.c:
-	Updated count_dir_entries() for new hfs_cat_next().
-
-	* hfs_fs.h, catalog.c:
-	hfs_cat{nth,next}() no longer take a 'types' argument,
-	so they now return all entries.
-	hfs_cat_next() now uses the ParID of the key to detect
-	the end of the directory.
-	hfs_cat_nth() now accepts n=0 as a valid input, requesting the thread.
-
-	* trans.c, string.c, super.c, dir_nat.c, hfs_fs.h, dir.c, dir_cap.c,
-	  dir_dbl.c, catalog.c:
-	Rename (struct hfs_cname) to the more appropriate (struct hfs_pstr).
-
-	* hfs_fs.h, hfs_btree.h:
-	Move some constants from hfs_fs.h to hfs_btree.h
-
-	* bdelete.c, hfs_btree.h:
-	Remove hfs_bdelete_brec() from public B-tree interface.
-
-	* hfs_btree_private.h, hfs_fs.h, btree.c, hfs_btree.h, bnode.c, brec.c,
-	  bfind.c, bins_del.c, binsert.c, balloc.c, bdelete.c, Makefile:
-	Split B-tree stuff into public and private parts:
-		brec.c split into bfind.c and brec.c
-		hfs_btree.h split into hfs_btree.h and hfs_btree_private.c
-
-	* inode.c:
-	The tests and sets of the HFS_FIL_LOCK bit where all reversed!
-
-	* hfs_fs.h, ccache.c:
-	Redo some ccache stuff, removing the 'error' field from
-	(struct hfs_cat_entry) and ensuring that hfs_cat_put()
-	will not sleep on an uninitialized entry.
-
-Sun Aug  4 23:43:28 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* sysdep.h:
-	Change swap{16,32}() back to macros since hton[ls]() are functions.
-
-	* hfs_fs.h, ccache.c:
-	Use only lowest order byte of parent CNID in hashing a catalog key.
-
-	* bdelete.c:
-	The "improved" bdelete() was TOO paranoid looking for missing parents.
-
-	* ccache.c:
-	Get rid of pointless swap16const(0).
-
-	* hfs_fs.h, inode.c, extent.c, ccache.c, dir_cap.c, dir_nat.c,
-	  binsert.c, catalog.c:
-	Store cnid and associated constants in big-endian byte order.
-	This reduces the number of byte-order swaps required.
-
-	* sysdep.h:
-	Make swap32() and swap16() inline functions.
-
-	* dir_nat.c, dir_cap.c, dir_dbl.c:
-	Added hfs_rename() to the inode_operations for normal directories.
-
-	* dir.c, hfs_fs.h:
-	Added hfs_rename() and cleaned up hfs_{create,mkdir,unlink,rmdir}().
-
-	* catalog.c:
-	Added the missing check for moving a directory into itself.
-
-	* catalog.c, ccache.c, hfs_fs.h:
-	Implement a nearly ideal hfs_cat_move().
-	It still needs to prevent moving a directory into itself.
-	The functions hfs_cat_{create,delete,move}() still need work with
-	respect to their atomicity (especially vs. readdir).
-
-	* bdelete.c:
-	Fixed a serious bug in hfs_bdelete_brec() that would yield a corrupted
-	b-tree when the first record in a bnode was deleted.
-	Made bdelete() more aggressive when checking for missing parents.
-
-Sat Aug  3 06:11:50 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* btree.c, super.c:
-	Fixed a problem that caused a kernel oops when no HFS filesystem
-	is found.
-
-Wed Jul 24 13:06:12 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* catalog.c:
-	Remove race in hfs_cat_create() that could overflow directory valence.
-
-	* catalog.c:
-	Fix hfs_cat_create() so the parent directory doesn't get deleted
-	out from under it.  Otherwise we could have created files and
-	directories in deleted directories.
-
-	* hfs_fs.h, dir_cap.c, dir_dbl.c, dir_nat.c, catalog.c, ccache.c:
-	Redo hfs_cat_{next,nth}() in terms of which entry types to
-	allow, rather than which to skip.
-
-	* catalog.c:
-	The function hfs_cat_create() would fail to hfs_cat_put(entry) if
-	the 'record' argument was invalid or if the 'result' argument was NULL.
-
-	* dir.c:
-	The functions hfs_{create,mkdir,unlink,rmdir} all failed to
-	call iput() when their arguments conflicted with a reserved name.
-
-	* catalog.c, hfs_fs_sb.h:
-	Start over on rename().  Still unfinished.
-	Fix silly bug in hfs_cat_create() that made it always fail.
-
-	* ccache.c:
-	Fix byte-order bug in write_entry().
-
-Tue Jul 23 12:12:58 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* dir_dbl.c, dir_nat.c, hfs_fs.h, dir.c, dir_cap.c:
-	Remove the macros KEY() and PARENT() since the key is now easy
-	to access through the catalog entry.
-	Replace the macros NAME{IN,OUT}() with inline functions
-	hfs_name{in,out}() to gain type checking of arguments.
-
-	* catalog.c:
-	Remove the macro TYPE().
-
-	* inode.c, file_dbl.c, file_nat.c, file.c, file_cap.c:
-	Remove the #define's of the unused macro KEY().
-
-	* hfs_fs.h, dir_cap.c, dir_dbl.c, dir_nat.c, catalog.c, dir.c:
-	Replace hfs_lookup_parent() in dir.c with hfs_cat_parent() in catalog.c.
-	This new function performs locking to protect against rename() changing
-		the parent during I/O.
-	It is also intended for use with files as well as directories.
-	Change hfs_{cap,dbl,nat}_lookup() to use the new function.
-
-	* dir.c, hfs_fs.h, catalog.c:
-	Remerge hfs_cat_{create,mkdir}() into hfs_cat_create() and resurrect
-		hfs_cat_new_{file,dir}().
-	Fix hfs_cat_{create,delete} to use the improved catalog cache for
-		locking in place of directory-level create/delete locks.
-	Fix hfs_{create,mkdir}() to use the new hfs_cat_create().
-
-	* hfs_fs.h, ccache.c:
-	Rewrite parts to remove need for specialized create/delete locking.
-	Use new case-independent hash function.
-	Fix bug in hfs_cat_get() that would read an entry w/o locking it.
-	Call hfs_relinquish() before retrying a deleted entry in hfs_cat_get.
-	If there is a read error, then don't retry in hfs_cat_get().
-	Remove unused 'version' field from (struct hfs_cat_entry).
-
-	* sysdep.h:
-	Add hfs_relinquish(), a system-independent alias for schedule().
-
-	* hfs_fs.h, string.c:
-	Add hfs_strhash(), a simplistic case-independent hash function.
-
-	* hfs_fs.h, inode.c:
-	Make hfs_iget() an inline function.
-
-	* TODO:
-	Add a few goals and removed those that have been achieved.
-
-	* Makefile:
-	Add ccache.c to list of source files.
-	Add rule for *.s files and include them in the 'clean' rule.
-
-Wed Jul 17 17:22:45 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* sysdep.h, trans.c, string.c, super.c, hfs_fs_i.h, hfs_fs_sb.h,
-	  inode.c, hfs_btree.h, hfs_fs.h, file_dbl.c, file_nat.c, extent.c,
-	  file.c, file_cap.c, dir_dbl.c, dir_nat.c, ccache.c, dir.c,
-	  dir_cap.c, btree.c, catalog.c, bnode.c, brec.c, balloc.c:
-	Total rewrite of the inode-handling stuff to be centered around
-	a catalog entry cache (ccache.c).  This results not only in a far
-	more sensible way of doing things, but also removed many race
-	conditions. (The source and object code both got smaller too!)
-	Many small "undocumented features" were also fixed.
-	Replace HFS_CNAME with (struct hfs_cname).
-	rename() has been temporarily abandoned.
-
-Thu Jul 11 01:14:38 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* dir.c:
-	As written hfs_lookup_parent() had two overlapping read requests
-	in the catalog tree.  This could have led to deadlock.
-
-Wed Jul 10 09:27:00 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* catalog.c, hfs_fs.h, bdelete.c:
-	More work on getting rename() fleshed out.  Still not done.
-	Before I can finish it looks like I'll need to build a
-	mechanism for exclusive access to the catalog tree.  There
-	just doesn't seem to be any other way to get proper POSIX
-	semantics without a bunch of race conditions elsewhere.
-
-	* hfs_fs.h, inode.c, dir_cap.c, dir_dbl.c, dir_nat.c, catalog.c:
-	More work on the still incomplete rename() code.
-	Merge hfs_cat_add_{dir,file}() into hfs_cat_create().
-	Add file-thread support to hfs_cat_{create,delete,rename}.
-
-Tue Jul  9 09:43:15 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* inode.c, dir_dbl.c, dir_nat.c, extent.c, dir_cap.c:
-	The indirect (struct hfs_file) was causing blocks not to be freed
-	when files where deleted, and an omission in hfs_put_inode() was
-	preventing the inode from getting freed.  Both are now fixed.
-
-	* hfs_fs.h, dir_dbl.c, dir_nat.c, hfs_btree.h, catalog.c, dir_cap.c,
-	  bdelete.c:
-	Made unlink() and rmdir() more race resistant and did some more
-	work on the still incomplete code for rename().
-
-	* btree.c, bnode.c:
-	There was a serious race condition in the bnode cache, so
-	hfs_bnode_find() is now modeled after Linus's inode cache.
-
-Mon Jul  8 10:33:38 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs_i.h, inode.c, file_cap.c, file_dbl.c, file_nat.c, dir_dbl.c,
-	  dir_nat.c, file.c, dir.c, dir_cap.c:
-	More changes to layout of (struct hfs_inode_info).
-
-	* super.c, inode_cap.c, inode_dbl.c, inode_nat.c, inode.c, hfs_fs_i.h,
-	  hfs_fs_sb.h, file_nat.c, hfs_fs.h, file.c, file_cap.c, file_dbl.c,
-	  Makefile, catalog.c:
-	Implemented new layout for (struct hfs_inode_info) resulting in the
-	elimination of lots of duplicated code for hfs_*_write_inode(),
-	hfs_*_put_inode() and *_open() functions.
-	Merged inode_*.c files back into inode.c.
-	Not fully tested.
-
-	* TODO:
-	Add a few more of my goals to the list.
-
-	* README:
-	Documentation updates.
-
-	* inode_nat.c, inode_cap.c, inode_dbl.c, inode.c, hfs_fs.h, hfs_fs_i.h,
-	  file.c, file_cap.c, file_dbl.c, file_nat.c, catalog.c:
-	(struct hfs_file) and metadata are read when file is opened or
-	truncated and are released by iput().
-
-Sun Jul  7 23:55:43 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* inode_nat.c, inode_cap.c, inode_dbl.c, inode.c, dir_nat.c, hfs_fs.h,
-	  hfs_fs_i.h, dir_cap.c, dir_dbl.c, catalog.c, dir.c:
-	(struct hfs_dir) is now inside (struct hfs_inode_info) once again.
-
-	* inode_nat.c, super.c, inode_cap.c, inode_dbl.c, inode.c, file_nat.c,
-	  hfs_btree.h, hfs_fs.h, extent.c, file_cap.c, file_dbl.c, dir_nat.c,
-	  dir_cap.c, dir_dbl.c, btree.c, catalog.c, dir.c, bpath.c, brec.c,
-	  bins_del.c, binsert.c, bnode.c, bfind.c, balloc.c, bdelete.c,
-	  Makefile:
-	Remerged (struct hfs_bpath) and (struct hfs_brec), merging the
-	files bfind.c and bpath.c as a resurrected brec.c.
-
-Sat Jul  6 21:47:05 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* inode_cap.c, inode_dbl.c, inode_nat.c, inode.c, hfs_fs.h, hfs_fs_i.h,
-	  file_cap.c, file_dbl.c, file_nat.c, hfs_btree.h, dir_nat.c, extent.c,
-	  dir.c, dir_cap.c, dir_dbl.c, btree.c, catalog.c, bfind.c, bpath.c,
-	  binsert.c, bdelete.c:
-	Renamed (struct hfs_brec_key) to (struct hfs_bkey).
-
-Tue May 28 07:53:24 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* inode_cap.c, catalog.c:
-	Spelling fixes.
-
-	* inode_nat.c, super.c, inode_cap.c, inode_dbl.c, inode.c, hfs_fs.h,
-	  hfs_fs_i.h, hfs_fs_sb.h, file.c, file_dbl.c, file_nat.c, dir_dbl.c,
-	  dir_nat.c, extent.c, dir.c, dir_cap.c, catalog.c:
-	Structures got too big, so I had to add a layer of indirection
-	to (struct hfs_inode_info).
-	This means we must clear_inode() in inode_put().
-
-Mon May 27 01:32:42 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* catalog.c, file_cap.c:
-	Some sizeof() stuff now uses variable not type.
-
-	* hfs_fs.h:
-	Make HFS_I() and HFS_SB() inline to gain type checking.
-
-Sun May 26 13:34:17 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* dir_nat.c:
-	Oops.  Had left some debugging printk()s in place.
-
-	* file_dbl.c, file_nat.c, file_cap.c:
-	Cleaned up variable names for consistency.
-
-	* hfs_fs_sb.h:
-	Add a couple 'const's to function typedefs.
-
-	* hfs_fs.h:
-	Add and update function prototypes.
-	Cleaned up type names.
-	Fix debugging malloc code.
-	Add hfs_iget_by_name() as an inline function.
-
-	* sysdep.h:
-	Remove extra semicolon from macro definitions.
-
-	* super.c:
-	Use new hfs_iget_by_name() to get root inode.
-
-	* extent.c:
-	Cleaned up some variable naming for consistency.
-
-	* catalog.c:
-	Added (untested) code for hfs_cat_move_file().
-
-	* catalog.c:
-	Fix one missed call to hfs_cat_build_key().
-	Make hfs_cat_add_{file,dir}() take a cat_entry as an argument.
-	Add hfs_cat_new_{file,dir}() to generate new cat_entry's.
-
-	* dir_dbl.c, dir_nat.c, dir.c, dir_cap.c:
-	Cleaned up type and variable names.
-	Updated calls to hfs_cat_build_key() and NAMEOUT()
-	Use new hfs_iget_by_*() calls.
-
-	* inode_cap.c, inode_dbl.c, inode_nat.c:
-	Cleaned up type and variable names.
-
-	* inode.c:
-	Update calls to hfs_cat_build_key().
-	Cleaned up type and variable names.
-	Implemented a hierarchy of hfs_iget_by*() calls.
-
-	* catalog.c:
-	Change hfs_cat_build_key() to take a HFS_CNAME as input.
-
-	* btree.c:
-	Initialize lsize and psize fields of file.
-
-	* trans.c:
-	Now passes type HFS_CNAME and has name/len in "normal" order.
-
-Tue May 21 07:02:34 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* bnode.c:
-	Attempt to read invalid bnode would have led to an infinite loop under
-	certain circumstances.  One way to cause this was with an invalid
-	partition table which points beyond the end of the device.
-
-Sat May 11 12:38:42 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* sysdep.h, sysdep.c, inode_dbl.c, inode_nat.c, super.c, inode_cap.c,
-	  inode.c, hfs_fs.h, hfs_fs_i.h, hfs_fs_sb.h, file_dbl.c, file_nat.c,
-	  hfs_btree.h, extent.c, file.c, file_cap.c, dir_nat.c, dir.c,
-	  dir_cap.c, dir_dbl.c, btree.c, catalog.c, bitmap.c, bitops.c,
-	  bnode.c, bfind.c, bins_del.c, binsert.c, balloc.c, bdelete.c:
-	Another big wave of portability-oriented changes.
-
-Tue May  7 11:28:35 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* super.c, sysdep.c, sysdep.h, inode_cap.c, inode_dbl.c, inode_nat.c,
-	  hfs_fs_i.h, inode.c, file_nat.c, hfs_btree.h, hfs_fs.h, file.c,
-	  file_cap.c, file_dbl.c, dir_nat.c, extent.c, dir_cap.c, dir_dbl.c,
-	  btree.c, catalog.c, dir.c, bnode.c, bpath.c, binsert.c, bitmap.c,
-	  bitops.c, bdelete.c, bfind.c, bins_del.c, Makefile, balloc.c:
-	Start a big move to abstract all the Linux-specific stuff
-	out of the lower levels.  Created sysdep.[ch] to hold it.
-
-	* FAQ, TODO:
-	Bring some documentation up-to-date.
-
-Fri May  3 20:15:29 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* super.c, inode_dbl.c, inode_nat.c, inode.c, inode_cap.c, extent.c,
-	  hfs_fs.h, hfs_fs_i.h, dir_dbl.c, dir_nat.c, catalog.c, dir.c,
-	  dir_cap.c, bpath.c, btree.c, binsert.c, bnode.c:
-	"FID reform": 'fid' became 'cnid' (Catalog Node ID), and is now
-	a field in (struct hfs_file).  The new name is more consistent
-	with Apple's documentation.  The presence of 'cnid' in (struct
-	hfs_file) help move more of the code toward OS-independence.
-
-	* inode_nat.c, super.c, trans.c, inode.c, inode_cap.c, inode_dbl.c,
-	  hfs_fs.h, file_cap.c, file_dbl.c, file_nat.c, dir_nat.c, extent.c,
-	  file.c, dir.c, dir_cap.c, dir_dbl.c, btree.c, catalog.c, bnode.c,
-	  bpath.c, bins_del.c, binsert.c, bitmap.c, bitops.c, bdelete.c,
-	  bfind.c, balloc.c:
-	A lot of changes in what headers are included and in what order.
-
-Sat Apr 27 12:28:54 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* FAQ:
-	Updated for current writability status.
-
-	* .cvsignore:
-	Added ChangeLog.
-
-	* file_dbl.c, file_nat.c, file_cap.c, file.c, dir_dbl.c, dir_nat.c,
-	  dir_cap.c:
-	Added the default fsync() to all file_operations structures.
-
-	* dir_nat.c, hfs_fs.h, dir.c, dir_cap.c, dir_dbl.c:
-	Add rmdir() for normal directories.
-
-	* binsert.c:
-	I had messed up insertion so that is would sometime fail to
-	split the root, but its OK now.
-
-	* dir.c:
-	hfs_do_unlink() decremented directory counts rather than file counts.
-
-Wed Apr 24 13:20:08 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs.h, bnode.c, hfs_btree.h:
-	Fixed a couple more type size assumptions.
-
-	* hfs_fs.h, balloc.c, bitmap.c, bitops.c:
-	"Portable" bitmap handling was wrong for just about everything but
-	the i386 and the "inverse big-endian" bit ordering that I thought
-	the m68k port was using.  It seems the m68k port is now using standard
-	big-endian bit-numbering conventions.
-	This code is now correct for the standard big- and little-endian bit
-	orderings. (which should cover all Linux systems?)
-	Also no longer assumes sizeof(long) == 4, though that might still be
-	a problem in other parts of the code.
-
-Tue Apr 23 19:19:27 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* FAQ:
-	Bring uptodate for this snapshot.
-
-	* Makefile:
-	Add FAQ to $(MISC)
-
-	* README, TODO:
-	Documentation updates.
-
-	* bdelete.c:
-	Spelling fixes.
-
-	* dir_cap.c:
-	In unlink() don't force metadata into memory if not present.
-
-	* bdelete.c:
-	Some function comments and some clean up.
-
-	* bins_del.c:
-	Added missing function comment for hfs_bnode_update_key().
-
-	* binsert.c, bitmap.c:
-	Spelling and grammar corrections to comments.
-
-	* hfs_btree.h, hfs_fs.h, bins_del.c, binsert.c, Makefile, bdelete.c:
-	Clean up of hfs_bdelete(), splitting bins_del.c into three files:
-		bins_del.c, binsert.c and bdelete.c
-
-	* bpath.c, bins_del.c:
-	hfs_bdelete() is now working "correctly", but needs some cleaning up.
-
-Mon Apr 22 05:35:41 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs.h, bpath.c, hfs_btree.h, bins_del.c, bnode.c, balloc.c,
-	  bfind.c:
-	Rewrite bnode handling, heading toward a more write-behind approach.
-	Have done away with HFS_LOCK_BLIND.
-
-	* inode_dbl.c, inode_nat.c, extent.c, hfs_fs_i.h, inode_cap.c:
-	Was trying to truncate resource fork of directories!
-
-Sun Apr 21 08:15:43 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* balloc.c:
-	Updated to use truncate() to grow full trees.
-
-	* extent.c, hfs_fs.h, file.c, inode.c:
-	Added truncate() for normal files.
-
-	* bins_del.c:
-	hfs_bdelete() fixes for handling removal of root.
-
-	* inode_cap.c, inode_dbl.c, inode_nat.c:
-	Release storage for deleted files in hfs_*_put_inode().
-
-	* bitmap.c:
-	Make len=0 valid for hfs_{set,clear}_vbm_bits().
-
-	* super.c, inode.c, hfs_fs_i.h, hfs_fs_sb.h, btree.c, balloc.c:
-	Changed from clumpsize to clumpblks.
-
-	* inode_nat.c, hfs_fs.h, inode_cap.c, inode_dbl.c, btree.c, extent.c,
-	  balloc.c:
-	Some extent-related changes in preparation for truncate() support.
-
-Sat Apr 20 10:59:13 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* inode_nat.c, hfs_fs_i.h, inode.c, inode_cap.c, inode_dbl.c,
-	  dir_nat.c, hfs_fs.h, dir.c, dir_cap.c, dir_dbl.c:
-	Removed dir.valence from hfs inode.
-	Added unlink(), but still need truncate() and some more support
-	in hfs_*_put_inode() to free the disk space used by deleted files.
-
-	* bnode.c:
-	Check for NULL bnode in hfs_bnode_relse().
-
-	* bins_del.c:
-	Fixed a byte-order problem in bdelete_nonempty().
-
-	* hfs_fs.h, bnode.c, bpath.c, hfs_btree.h, balloc.c, bins_del.c:
-	First attempt at hfs_bdelete().
-
-	* dir.c:
-	The Finder would display strange things if it couldn't set frView.
-	Therefore initialize frView field for new directories.
-
-	* file_cap.c, file_dbl.c, file_nat.c, hfs_fs.h:
-	Define User/Finder info fields of catalog entry in more detail.
-
-	* hfs_fs.h:
-	HFS_BFIND_DELETE should require exact match.
-
-	* dir.c:
-	Set "record in use" bit of filFlags for new files.
-
-	* inode.c:
-	Was doing the wrong thing with i_ctime.
-
-	* dir_nat.c, dir_cap.c, dir_dbl.c:
-	Added some missing updates to the inode in hfs_*_{create,mkdir}().
-
-Sun Apr 14 00:10:52 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs.h, file_dbl.c, file_nat.c, file.c:
-	Work around the ever-changing type of f_reada.
-
-Sat Apr 13 00:43:41 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* bpath.c, bfind.c:
-	Spelling corrections in comments.
-
-	* bins_del.c:
-	ifdef out shift_left() until it is actually used.
-
-	* hfs_btree.h, hfs_fs.h, bins_del.c, bpath.c, bfind.c:
-	Cleaned up code related to 'flags' argument to hfs_bpath_find().
-
-Fri Apr 12 23:30:01 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* bpath.c:
-	Updated comments.
-	Rewrote hfs_bpath_init() and hfs_bpath_next().
-
-	* hfs_btree.h:
-	Updated prototype for hfs_bpath_init().
-
-	* bins_del.c:
-	Updated call to hfs_bpath_init().
-
-	* inode.c, inode_cap.c, inode_dbl.c, inode_nat.c, extent.c, file_cap.c,
-	  file_dbl.c, file_nat.c, dir_cap.c, dir_dbl.c, dir_nat.c, catalog.c,
-	  dir.c:
-	Renamed hfs_brec_relse() to hfs_brelse().
-
-	* hfs_fs.h, hfs_btree.h:
-	Updated prototypes to reflect new names in bpath.c
-
-	* bins_del.c:
-	Updated calls to functions in bpath.c
-	Updated comments.
-
-	* Makefile:
-	Renamed brec.c to bpath.c
-
-	* bfind.c:
-	Updated calls to functions in bpath.c
-	Added hfs_brelse() which was previously hfs_brec_relse() in brec.c
-
-	* bpath.c:
-	brec.c renamed to bpath.c
-	Functions renamed to reflect their current actions.
-	Comments are still out of date.
-	hfs_brec_relse() renamed to hfs_brelse() and moved to bfind.c
-
-	* brec.c:
-	brec.c renamed to bpath.c
-
-Wed Apr 10 07:20:28 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs.h, extent.c, hfs_btree.h, brec.c, dir.c, bfind.c,
-	  bins_del.c:
-	Backed-out changes to hfs_binsert() that added the ability to
-	return the new record, since it will probably not ever be needed.
-
-	* extent.c:
-	Since 1.3.45 truncate() has locked the file, so there is no need
-	for all the things I've been doing to hfs_file_extend() & new_extent().
-	Those two functions have been cleaned up a bit (similar to older forms).
-
-	* extent.c:
-	hfs_file_extend() now more "robust", but new_extent() is still
-	not fully "concurrency safe."
-
-Tue Apr  9 09:01:18 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* bins_del.c:
-	Made split() inline.
-
-	* inode.c, dir_nat.c, hfs_fs.h, dir_cap.c:
-	Added hfs_itry() to get in-core inodes.
-
-	* inode_dbl.c, inode_nat.c, hfs_fs.h, inode.c, inode_cap.c, file_dbl.c,
-	  file_nat.c, hfs_btree.h, extent.c, file_cap.c, dir_cap.c, dir_dbl.c,
-	  dir_nat.c, brec.c, catalog.c, dir.c, bins_del.c, bnode.c,
-	  bfind.c:
-	Rewrite of all the (struct hfs_brec) stuff.
-
-Mon Apr  8 21:50:01 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* btree.c, extent.c, bnode.c:
-	Fixed format strings in a few debugging printk()'s.
-
-	* brec.c, hfs_fs.h:
-	Removed hfs_brec_relse_one().
-
-	* hfs_fs.h, bnode.c, brec.c, hfs_btree.h, bfind.c, bins_del.c, balloc.c:
-	(struct hfs_bnode_ref)s are now returned by value rather than reference
-	and they are in (struct hfs_brec) rather than pointed to.  Cuts down on
-	a lot of kmalloc() and kfree() traffic.
-
-	* hfs_fs.h, dir.c, extent.c, bins_del.c:
-	Modified hfs_binsert() to be able to return the new record.
-
-	* bins_del.c, hfs_btree.h:
-	Added shift_left(), still untested.
-
-	* bins_del.c:
-	new_root() was missing its comment.
-
-	* super.c, trans.c, hfs_fs_i.h, inode.c, inode_dbl.c, inode_nat.c,
-	  file_nat.c, hfs_btree.h, hfs_fs.h, file.c, file_dbl.c, dir_dbl.c,
-	  dir_nat.c, extent.c, dir.c, dir_cap.c, bitops.c, bnode.c, brec.c,
-	  bfind.c, bins_del.c, bitmap.c, balloc.c:
-	Fixed lines over 80 characters and tabified files.
-
-	* bins_del.c:
-	Fixed line(s) over 80 columns.
-
-	* trans.c, inode_nat.c, string.c, super.c, inode.c, inode_cap.c,
-	  inode_dbl.c, hfs_fs_i.h, hfs_fs_sb.h, hfs_btree.h, hfs_fs.h, file.c,
-	  file_cap.c, file_dbl.c, file_nat.c, dir_dbl.c, extent.c, btree.c,
-	  dir_cap.c, bitops.c, bnode.c, brec.c, bfind.c, bins_del.c, bitmap.c,
-	  DOC, README, TODO, balloc.c, CHANGES:
-	About 150 spelling corrections.
-
-Sun Apr  7 23:14:28 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* dir_cap.c, dir_dbl.c, dir_nat.c, dir.c:
-	Cleaned-up check for special names in mkdir().
-
-	* extent.c:
-	More verbose error message.
-
-	* inode_dbl.c, inode_nat.c, hfs_fs_i.h, inode.c, inode_cap.c, dir.c,
-	  hfs_fs.h:
-	Limit directories to 32767 entries, since Mac uses 16-bit integer.
-
-Fri Apr  5 07:27:57 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* FAQ:
-	Initial version.
-
-	* dir_dbl.c, dir_nat.c, bins_del.c, dir.c, dir_cap.c:
-	Added missing function comments.
-
-Wed Apr  3 06:38:36 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* brec.c:
-	Cleaned-up code for brec->flags.
-
-	* extent.c:
-	Added function comments.
-
-	* bins_del.c:
-	Added function comments.
-	hfs_binsert() was incrementing record count even on failure.
-
-Mon Apr  1 08:35:51 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* extent.c:
-	Rewrote find_ext() and new_extent() for new hfs_btree_extend().
-	Moved hfs_btree_extend() to balloc.c
-	Fixed potential kernel OOPS in new_extent().
-
-	* brec.c:
-	Fixed potential kernel OOPS in hfs_brec_get_root().
-	Removed hfs_brec_find_first().
-	Fixed return value of hfs_brec_find().
-
-	* bins_del.c:
-	Updated call to hfs_btree_extend().
-
-	* balloc.c:
-	Merged hfs_bnode_add() and hfs_btree_extend() into the later.
-	Commented init_mapnode().
-
-	* bfind.c:
-	Removed hfs_bfind_first().
-
-	* hfs_fs.h, hfs_btree.h:
-	Updated prototypes.
-
-Sat Mar 30 22:56:47 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* CHANGES, README, TODO:
-	Updated documentation in preparation for 0.6 release.
-
-	* inode.c, hfs_fs.h:
-	Got rid of HFS_FAKE_EXEC in favor of noexec mount option.
-
-	* inode.c, super.c, DOC, hfs_fs_sb.h:
-	Added "quiet" mount option, like the fat filesystem.
-
-	* inode.c, dir_cap.c, dir_nat.c:
-	Pseudo-directories are read-only (at least for now).
-
-	* hfs_fs.h, dir_dbl.c, dir_nat.c, dir.c, dir_cap.c:
-	mkdir() updated to check against reserved names, but the
-	AppleDouble scheme still has problems with names starting with '%'.
-
-	* dir_dbl.c, dir_nat.c, hfs_fs.h, dir.c, dir_cap.c:
-	Added mkdir(). (It only took 2 tries to get it right!!)
-	Only works in "normal" directories and doesn't yet stop
-	one from creating dirs with the reserved names.
-
-	* brec.c, extent.c, bins_del.c:
-	Now have a way to get an EEXIST back from hfs_binsert().
-
-	* btree.c, inode.c, hfs_fs_i.h, file.c, bfind.c, bnode.c, balloc.c:
-	Added 'dev' field to struct hfs_file.
-
-	* hfs_fs_i.h, inode.c, btree.c, extent.c, file.c, bnode.c, brec.c,
-	  balloc.c:
-	Removed duplicated fields from struct hfs_file since
-	even B*-trees now have that information in the inode.
-
-	* extent.c:
-	zero_blocks() neglected allocation block size in computing start.
-
-Fri Mar 29 16:04:37 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* super.c:
-	hfs_statfs(): f_files and f_ffree fields are now -1, which is
-	documented as the value for "undefined" fields in struct statfs.
-
-	* trans.c, inode_nat.c, string.c, super.c, inode_dbl.c, inode_cap.c,
-	  inode.c, file_nat.c, file_dbl.c, file_cap.c, file.c, dir_dbl.c,
-	  extent.c, dir_cap.c, catalog.c, btree.c, brec.c, bnode.c, bitops.c,
-	  bitmap.c, bins_del.c, balloc.c:
-	Stylistic editing: {} for all 'for', 'while' and 'if' blocks.
-	I hope I didn't screw-up anything.
-
-	* hfs_fs.h, dir.c, dir_cap.c, dir_dbl.c, dir_nat.c:
-	Added creation of normal files to all three fork schemes!
-	Strange things may happen when trying to create "non-normal" files.
-
-	* brec.c:
-	Cleaned up some debugging code.
-
-	* hfs_fs_i.h:
-	File and directory counts could have overflown 16-bit integer.
-
-	* hfs_btree.h:
-	Added HFS_BREC_RIGHT to help fix insertion problem.
-
-	* extent.c:
-	Various fixes to hfs_{file,btree}_extend().
-
-	* catalog.c:
-	Made hfs_build_cat_key() more "correct".
-
-	* btree.c:
-	Added and fixed debugging code.
-
-	* brec.c:
-	Fixed overflow detection.
-	Added some debugging code.
-
-	* bnode.c:
-	Dirtied some buffers in places that might have been missed.
-	Fixed some debugging code that had broken.
-
-	* bitops.c:
-	hfs_count_free_bits() was running off end of bitmap.
-
-	* bins_del.c:
-	Fixed various bugs, mostly related to variable-length keys.
-
-	* balloc.c:
-	Had forgotten to set a bit in new mapnodes.
-	Node counts were overflowing 16-bit integers.
-
-	* bitmap.c:
-	Oops! clear/set did opposite operation on full words.
-
-Wed Mar 27 10:59:07 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* hfs_fs_i.h:
-	Updated struct hfs_extent for concurrent access.
-	Also caused a slight modification to struct hfs_file.
-
-	* hfs_fs.h, hfs_btree.h:
-	Added/updated prototypes.
-
-	* balloc.c:
-	hfs_bnode_alloc() finished but still untested.
-
-	* bins_del.c:
-	Fixed up deadlock avoidance in hfs_binsert() again.
-	Perhaps I even got it right this time.
-
-	* extent.c:
-	hfs_file_extend() now safe under concurrent operations?
-
-	* file.c:
-	hfs_getblk() now safe under concurrent operations?
-
-Tue Mar 26 23:26:35 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* btree.c:
-	Added call to hfs_extent_trim() to fix memory leak.
-
-	* extent.c:
-	Oops, had left a "#define static" in from debugging.
-
-	* bins_del.c:
-	hfs_binsert() rewritten to avoid deadlock when extending
-	the extents B*-tree.
-
-	* btree.c:
-	Moved hfs_btree_extend() to extent.c
-
-	* inode_nat.c, inode_cap.c, inode_dbl.c:
-	hfs_*_put_inode() rewritten to call hfs_extent_trim().
-
-	* extent.c:
-	Big rewrite for new struct hfs_extent:
-		Now keep linked list of extents.
-		Cache is now a pointer to a list element.
-		Now have 'end' field to aid decode_extent().
-	New functions:
-		hfs_extent_trim(): frees linked list.
-		hfs_btree_extend(): for extending B*-trees.
-	Improved debugging output.
-
-	* balloc.c:
-	Added hfs_bnode_add() (incomplete and uncommented).
-
-	* btree.c:
-	Moved some work from hfs_btree_extend() to hfs_bnode_add().
-
-	* bfind.c:
-	Added hfs_bfind_first() as wrapper for hfs_brec_find_first().
-
-	* brec.c:
-	Added hfs_brec_find_first() to search first leaf node.
-
-	* bins_del.c:
-	Added error returns to hfs_binsert() and binsert().
-
-	* bins_del.c:
-	Check to see that we really need ancestors before starting.
-	Check that hfs_btree_alloc() gave us enough nodes.
-	binsert() uses info precomputed by hfs_binsert().
-
-Mon Mar 25 11:33:53 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* bnode.c:
-	Collected together the error returns in hfs_bnode_lock().
-
-	* Makefile:
-	Added ChangeLog to $(MISC).
-
-Wed Mar 20 19:41:45 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* super.c, hfs_fs.h, file.c, dir_dbl.c, dir_nat.c, dir.c, dir_cap.c:
-	Removed support for kernels older than about 1.3.70
-	Most of that support had been broken recently anyway.
-
-	* super.c:
-	Fixed so DEBUG_MEM works w/o DEBUG_ALL.
-	Updated call to hfs_btree_init().
-
-	* hfs_fs.h:
-	Updated/added prototypes.
-
-	* hfs_btree.h:
-	HFS_BFIND_CHAIN removed.
-	struct hfs_brec gets new 'flags' field with bits:
-		HFS_BREC_{FIRST,OVERFLOW,UNDERFLOW,UNINITIALIZED}
-	Removed bitmap size constants.
-	Changes to struct hfs_btree:
-	        'file' and 'cache' now structs rather than pointers.
-		Added 'reserved' field (used during insertion).
-		Added pointers to size and extent in MDB.
-
-	* file.c:
-	Made hfs_getblk() public.
-	Removed (fil->inode == NULL) special cases.
-
-	* extent.c:
-	{find,update}_ext() are no longer inline.
-	new_extent() fails when called for the extents tree;
-		previously it would hanging calling hfs_binsert().
-	extend_file():
-		renamed to hfs_file_extend() and made public.
-		fixed to work for B*-trees.
-		zeros-out blocks as they are allocated.
-		fixed bugs for (allocation block) != (physical block).
-
-	* btree.c:
-	hfs_btree_{init,free}() modified for changes to struct:
-		'file' and 'cache' moved back into structure
-		file.inode initialized to reduce special cases
-	hfs_btree_init() gets pointer to size in MDB instead of size.
-	Added hfs_btree_extend() (incomplete and uncommented).
-
-	* bnode.c:
-	hfs_bnode_{alloc,free}() moved to separate file.
-	Removed 'const' from some function arguments
-		due to change in struct hfs_btree.
-	hfs_bnode_lock(): added WRITE/RESRV->READ transition.
-
-	* brec.c:
-	hfs_brec_get_{root,child}() now take a 'keep_mask' argument
-		indicating when to keep ancestor nodes, and store
-		information about why ancestors were kept.
-	HFS_BFIND_CHAIN eliminated in favor of HFS_BFIND_{INSERT,DELETE}
-		which are now implemented using 'keep_mask'.
-	Added hfs_brec_relse_one() that doesn't release ancestors.
-
-	* bins_del.c:
-	Lots of rewrites to cleanup insertion.
-	Now tries to extend tree before insertion starts.
-	binsert() iterative rather than recursive.
-	No point in keeping track as it is still not "stable".
-
-	* balloc.c:
-	New file: started with hfs_bnode_{free,alloc}()
-	Added hfs_bnode_init() to initialize a newly allocated bnode.
-	hfs_bnode_free():
-		Renamed hfs_bnode_bitop().
-		Can set or clear a specified bit.
-		Gets bitmap sizes from nodes directly.
-	hfs_bnode_alloc():
-		Returns actual node, calling hfs_bnode_init().
-		Gets bitmap sizes from nodes directly.
-
-	* bfind.c:
-	Removed obsolete comment from hfs_bsucc()
-	Removed 'const' from tree arg of hfs_bfind()
-		due to changes in struct hfs_btree.
-
-	* Makefile:
-	Added new file: balloc.c
-
-Sat Mar  9 22:03:53 1996  Paul H. Hargrove  <hargrove@sccm.stanford.edu>
-
-	* Start of detailed CVS logging.
-
-Mar 09, 1996: snapshot-09Mar96 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	NOT AN OFFICIAL RELEASE
-	Fixed up debugging code that was broken by split of btree.c
-	Added debugging kmalloc/kfree
-	Fixed memory leak in hfs_bnode_relse()
-
-Mar 08, 1996: snapshot-08Mar96 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	NOT AN OFFICIAL RELEASE
-	now reset blocksize on device when done.
-	hfs_binsert done (except for the full tree case).
-	btree.c split up into manageable pieces (need to sort out hfs_btree.h)
-
-Feb 26, 1996: snapshot-26Feb96 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	NOT AN OFFICIAL RELEASE
-	Some writability.
-	Bug with multiple opens of meta data fixed.
-	Netatalk support no longer considered experimental.
-
-Virtually everything has changed, so I've lost track here.
-
-Nov 16, 1995: snapshot-16Nov95 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	NOT AN OFFICIAL RELEASE
-	Still more comments.
-	btree.c back to 80 columns.  will do same to other files soon.
-	Starting with btree.c have begun to put file contents into some
-		sort of standard order.
-	Moved metadata reading to VFS open() routine and now free it in
-		the VFS release() routine.  Much cleaner than the old way.
-	Unified hfs_iget by shifting scheme-dependent code into a function
-		pointer in the superblock.  This could/should be shifted to
-		a VFS read_inode() routine if that can be done cleanly.
-	Probably lots of other changes; I've lost track.
-
-Nov 05, 1995: version 0.5.3 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	NOT AN OFFICIAL RELEASE
-	1.2.x compatibility removed
-	Added lots of comments to btree.c and cleanup some code.  The result
-		is that the source file doubled in size while the object
-		file dropped in size by 20%.
-	Added some comments to super.c and dir.c as well.
-	Cleaned up some stuff in dir.c adding some additional error checking
-		and moving closer to using a unified hfs_iget by migrating
-		common code into lookup_parent().
-	Changed btree.c to use a separate bnode cache per filesystem.
-	Renamed a bunch of the bnode functions in btree.c
-
-Jun 29, 1995: version 0.5.2 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	BUG FIX and 1.3.x-compatibility release.
-	Will compile under 1.2.x or 1.3.x by changing one line in Makefile.
-	Started adding magic numbers to structures for "safety".
-	Don't strip internal symbols when linking or loading, as this made
-		good bug reports rather difficult.
-	Fixed a bug that could cause the fs to lock-up after trying to open
-		a non-existent file.
-	Fixed a bug that allowed files to appear truncated, when in fact it
-		is still not possible to truncate a file.
-	Added more/better comments to header files.
-	Deal with volume and b-tree bitmaps in preparation for writing.
-	Fixed readdir() to deal properly with the case where the directory
-		changes while writing to user-space. (which can't yet
-		actually happen, until directories are writable).
-
-Jun 23, 1995: version 0.5.1 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	BUG FIX RELEASE
-	Removed two debugging messages that didn't belong.
-	Fixed a typo that prevented modified inodes from being written to disk.
-	Added a missing line which prevented rmmod'ing sometimes.
-	Added a missing line which caused errors when modifying .finderinfo or
-		.resource under the CAP system.
-	Added a notify_change() to keep mode bits sensible, and to cause
-		changes to an inode to affect the data fork and resource fork
-		of a file together.
-
-Jun 22, 1995: version 0.5 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	Fixed a bug that was giving wrong values for i_blocks
-	Partly writable (can only 'touch' existing files, so far)
-	Removed case= mount option.  It will be back eventually.
-	Can now deal with CDROMs (and hard disks?), many thanks to
-		Holger Schemel for this work.
-	Latin-1 filename conversion also due to Holger Schemel.
-	Rewritten btree operations.
-
-Feb 28, 1995: version 0.4 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	Requires Linux >= 1.1.94: depends on changes made to asm/byteorder.h
-	Now using string comparison code donated by ARDI (see string.c)
-	Code reorganized to use data structures more like ARDI's.
-	More code reorganization to abstract the btree operations.
-	Added the fork= mount option.
-	Added AppleDouble support.  Executor, from ARDI, can now run programs
-		from HFS filesystems mounted with the HFS module.
-
-Jan 28, 1995: version 0.3 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	Major code reorganization.
-	Known for certain to work ONLY on floppies.
-	Started caching extents, so got faster on long file reads.
-	Now compiles separate from kernel tree.
-	Supports 5 filename conversion methods.
-	Supports forks, using the method from CAP.
-	All external symbols now start with HFS_ or hfs_
-
-Jan 12, 1995: version 0.2 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	Should now work on all HFS volumes, but still only tested on floppies.
-	Got smaller and faster with some code reorganization.
-	Since Linus moved htons() and friends to an asm file, should now be
-	 truly endian-independent, but still only tested on Intel machines.
-	Requires Linux >= 1.1.77, since Linus moved htons().
-
-Jan 05, 1995: version 0.1 hargrove@sccm.stanford.edu (Paul H. Hargrove)
-	First release.
-	1.44Mb floppies only
-	no resource forks
-	trivial name mangling only
-	read only
-	for Linux >= 1.1.75

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-01-18 19:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-18 19:01 [2.6 patch] remove two obsolete HFS docs Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®