--8323328-1832289433-886583608=:1001
Content-Type: TEXT/PLAIN; CHARSET=iso-8859-1
Content-Transfer-Encoding: 8BIT
Content-ID: <Pine.LNX.3.95.980204102337.2431B@hafnium.nkbj.dk>
Hi,
The patch attached to this message is an update to the kernel UFS driver.
I've tested it with kernels 2.1.84 and 2.1.85 and several UFS variants.
The new things in this update are:
* Support for the 4.4BSD (FreeBSD) UFS variant.
* Support for fs_bsize=4096 and fs_fsize=512.
Still missing:
* Support for the NeXTstep UFS variant.
* ???
Thanks to Martin von Löwis, Fare Rideau and Bruno Haible for code, answers
and suggestions.
--
Med venlig hilsen / Best regards
nkbj@image.dk
Niels Kristian Bech Jensen http://www.image.dk/~nkbj/
--8323328-1832289433-886583608=:1001
Content-Type: APPLICATION/OCTET-STREAM; NAME="ufs-2.1.85.patch.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.980204101328.1001B@hafnium.nkbj.dk>
Content-Description:
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
dfbsq38DszWuH2eRAAA=
--8323328-1832289433-886583608=:1001--