[PATCH] byteorder+ufs upgrade (was Re: UFS Problems in 2.1.116p1)

Francois-Rene Rideau (I+fare+WANT@tunes.NO.org.SPAM)
19 Aug 1998 17:51:50 +0200


Dear Linux kernel and UFS hackers/users,
Firstly, I'm glad to see that Daniel Pirkl's and Jakub Jelinek's
Read/Write UFS driver made it into the official kernel (since 2.1.112),
and replaces this Read-Only driver hacked by many people (starting with
Adrian Rodriguez, and among which yours truly). Daniel looks like he took
all the goodies from this former driver as well as the ext2 driver.

shirsch@adelphia.net (Steven N. Hirsch) writes:
> On Mon, 17 Aug 1998, Maciej W. Rozycki wrote:
>> UFS (Ultrix and Digital Unix) CD-ROMs worked perfectly with the previous
>> read-only implementation of the filesystem. E.g. using 2.1.106.
>
> Can someone familiar with UFS internals take a look and see what's broken?
>
> Even if it is no longer possible (for whatever reason) to read DEC CDs, a
> kernel lockup is not acceptable.

Would you perchance be mounting a little-endian FS (DEC stuff looks like so)
on a big-endian machine? By proof-reading the driver, I found that Daniel
inserted an "optimization" that turns out to be a bad lack-of-swab bug
in that case.

My patch follows in .gz.uu; should be available as
http://www.tunes.org/~fare/files/bu-2.1.116.patch.gz
Most of it is just facelift: comments added or spell-checked.
The only real code change is a bug fix in fs/ufs/super.c,
at the place the variable swab is initialized (look for `UFS_MAGIC').

I hope this fixes your problem.
I'm not really proficient enough in UFS to otherwise correct deep semantic
bugs in Daniel's code, but at least it *looks* quite cleanly written to me.

NB: Cc: to linux-kernel and u2fs mailing lists...

Bestest regards,

## Faré | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ##
## FR: François-René Rideau | TUNES is a Useful, Not Expedient System ##
## Reflection&Cybernethics | Project for a Free Reflective Computing System ##
As far as natural selection applies to the human world, we don't ever get to
"let nature decide", because we ARE part of that nature that decides. Hence,
any claim to "let the nature decide" is just a fallacy to promote one point
of view against others, or to ignore one's responsibilities.

begin 664 bu.patch.gz
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
L&&#I@>7H=D3;$F$LB0LQ'8LG+9=A..=WNSMU<.:S';IJXW\`EXD8OFE`````
`
end

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html