Version pre-0.7-7 of my HFS module is now available on my HFS for Linux web page: http://www-sccm.stanford.edu/~hargrove/HFS/
This release fixes 3 real show-stopper bugs in pre-0.7-5 that could have locked up the system under heavy writing loads.
There remains one reported bug, and that is that the sizes of the resource fork under AppleDouble and Netatalk are stored in the wrong byte-order, so Netatalk clients see small files as being absolutely huge. The (untested) fix is the following patch:
--- file_nat.c.orig Thu Aug 22 00:04:23 1996 +++ file_nat.c Thu Aug 22 00:05:24 1996 @@ -181,7 +181,8 @@ } if (what & HFS_META_RFORK) { if (entry->type == HFS_CDR_FIL) { - meta->descr[0].length = entry->u.file.rsrc_fork.lsize; + meta->descr[0].length = + swap32(entry->u.file.rsrc_fork.lsize); } } if (what & HFS_META_FLAGS) {
---- Paul H. Hargrove All material not otherwise attributed hargrove@sccm.stanford.edu is the opinion of the author or a typo.
On Thu, 22 Aug 1996, Paul H. Hargrove wrote:
There remains one reported bug, and that is that the sizes of the resource fork under AppleDouble and Netatalk are stored in the wrong byte-order, so Netatalk clients see small files as being absolutely huge. The (untested) fix is the following patch:
This patch seems to have fixed the problem with file sizes. Just thought folks should know it isn't completely untested anymore...:)
Thank you Paul!
David
--- file_nat.c.orig Thu Aug 22 00:04:23 1996 +++ file_nat.c Thu Aug 22 00:05:24 1996 @@ -181,7 +181,8 @@ } if (what & HFS_META_RFORK) { if (entry->type == HFS_CDR_FIL) {
meta->descr[0].length = entry->u.file.rsrc_fork.lsize;
meta->descr[0].length =
} } if (what & HFS_META_FLAGS) {swap32(entry->u.file.rsrc_fork.lsize);
__________________ David Lorin Goldstein _________________ dlg@where.com _______________________________________/ WHERE.COM,Inc. leaf@where.com \ Director of Information Technology / WebService root@where.com /_____________________________________\ Consulting __________________/ _________________