Re: UFS not 64-bit clean?
Re: UFS not 64-bit clean?
- Subject: Re: UFS not 64-bit clean?
- From: Louis Gerbarg <email@hidden>
- Date: Tue, 11 Dec 2001 14:45:54 -0800
On Tuesday, December 11, 2001, at 02:19 PM, Chris Bednar wrote:
I went through all this with Linux back when I had time
to fool with things like arch/ppc/kernel/misc.S, but I'm hoping
to keep myself kinda clueless about building xnu as long as
I can ;)
As with all of the widely available source code bases for kernels I
have
seen, it is not that bad to build, but it requires specific steps (some
of which may or may not be well documented).
Yup. Building, installing, keeping different versions on
the same system, making sure modules are installed right...
just not ready for the learning curve today. I'll try it
after I get a good run of sleep.
like `rsh zorak cat RedHat7.2.iso > RedHat7.2.iso` and
it ran without complaint, but the file looked to be truncated
at 4G.
This is not about 64bit cleanliness (that really involves in memory
structure and call alignment). The max file size on UFS is either 2
or 4
gigs.
Really? Any UFS, or just Darwin's? All of this worked in
FreeBSD. Am I confused, or is this really because the UFS
code in Darwin is from the dim, ancient past?
Just Darwin's. FreeBSD's FFS as a lot of improvements over ours. Whether
ot not their kernel internal are 64bit clean is another matter, I
believe they are as well though.
Um, if you really want to try to build LFS you can be adding the line
"option LFS" to the conf files in xnu. You really do not want to
though.
You are correct. I'm having a language problem; I mean
``Large File Summit''; all I mean by LFS is that file offsets are
64-bit, and I can have files bigger than 4G.
The reason I used the expression ``64-bit clean'' is that
I assumed that the situation was like that with pre-2.4 linux;
on-disk structures were 64-bit, but the kernel code wasn't.
I do see (xnu-9-1/bsd/ufs/ffs/ffs_vfsops.c:390, for example)
that there's a check to see if the on-disk maxfilesize is greater
than 4GB (in which case it's reset in memory to 4GB), and that
on-disk number does appear to be 64 bits wide, as is, I think,
the on-disk i_size...
I do not have the exact details on this. You can try commenting out the
override and see if it works, but it tends to be when we disable
something we do it because it is broken (unlike some conspiracy
theorists who think we disable features just to annoy our users ;-) Just
so you know that LFS in our kernel is probably not referring to what you
want it to.
Louis