From: Jeff Dike <jdike@ka...> - 2001-09-15 03:03:43
There are two major changes in this patch:
The COW header is now at version 2, and it supports filenames up to
MAXPATHLEN characters long and its header is in network byte order. The byte
swapping allows COWed filesystems to be moved between big-endian and
little-endian machines. The driver will read both V1 and V2 headers, and
will create V2 headers.
UML now loads itself and all its memory in the top of the address
space. This allowed a number of cleanups, and I think it fixed the mlockall
bug, but I forgot to check that before making the patch.
You might notice problems:
if the host has the 2G/2G address space split, then it won't work,
because I forgot to parameterize something before making the patch. When I fix
that, you'll need to build the UML binary from source after enabling
CONFIG_HOST_2G_2G (in another mistake, it's currently called CONFIG_2G_2G) to
build the binary to load at the top of the 2G user address space.
if you're a gprof or gcov user - I checked both and they work for me,
but the gprof support needed some changes. gcov just worked, but it's another
of the delicate things.
This change is radical enough that there might be other basic problems. I
think it's so radical that if there are problems, UML would be broken for
everyone including me. But until it gets some beating, I won't know for sure.
There is also a little gprof fixlet.
The patch is at