Thanks you guys for working through this one, that code you managed to
get into is for an old bug in xfs which was fixed years ago, you get into
the create a new file path, but when you go try insert the name into a
directory it says it exists, and you end up looping. Definitely looks like
there are still some compiler problems lurking. No doubt we could work through
and find the code which is getting misbuilt and rework it some, but right
now we have larger fish to fry.
> :: Maybe it is an compiler issue.
> OK, installed compat-egcs (plus a host of other RPMs required), and tried
> going into single mode and exiting it again.
> No problems this time. It seems that if you go into single mode on a system
> compiled with gcc 2.96-81, you'll end up with a corrupt /var (just like Utz,
> I had to boot into rescue mode and run xfs_check and xfs_repair on /var.
> So... here's a patch for the Makefile ;-):
> --- Makefile Fri May 25 15:24:36 2001
> +++ Makefile.kgcc Fri May 25 15:27:37 2001
> @@ -26,8 +26,8 @@
> AS = $(CROSS_COMPILE)as
> LD = $(CROSS_COMPILE)ld
> -CC = $(CROSS_COMPILE)gcc
> -#===== NOTE =====
> +#CC = $(CROSS_COMPILE)gcc
> +# ===== NOTE =====
> # egcs-2.91.66 is the recommended compiler version for building XFS.
> # Most of the XFS developers are using that particular version for
> # development, testing, and performance analysis work, and it will
> @@ -37,10 +37,13 @@
> # On early versions of RedHat 7.x, kgcc is the recommended compiler
> # for building the kernel (kgcc is the same as egcs-2.91.66) - if
> # you use such a distribution and wish to use kgcc, uncomment this:
> -#CC = $(CROSS_COMPILE)kgcc
> -# The default gcc with RedHat 7.1 (gcc-2.96-81) also appears to
> -# generate good code, earlier versions of 2.96 are however an
> -# unknown quantity and not recommended.
> +CC = $(CROSS_COMPILE)kgcc
> +# Even though we though that the default gcc with RedHat 7.1
> +# (gcc-2.96-81) would generate good code, extensive testing by
> +# fearless volunteers has shown that building XFS with it will
> +# cause serious file system corruption in certain circumstances.
> +# Don't even think about using earlier versions of GCC 2.96.
> - Juha