This directory contains a snapshot of the XFS CVS tree against kernel 2.4.22.
The snapshot can be downloaded as a single patch containing all the XFS kernel
code, it has also been split into several patches to make it easier to port XFS
to other architectures and for distributors to include XFS in their
distributions.

You can apply the -all-i386 patch to get a snapshot of XFS for 2.4.22-i386 as of
2003-09-03 04:09 UTC.  Or you can selectively apply the -split patches.  Do not
mix the -all and -split patches, that will result in patch errors and/or
duplicate code.

The -all and -split patches are provided as a courtesy and are not supported.
They are snapshots of the XFS CVS tree as of the specified date and time, the
split patches may or may not be changed afterwards.  The main method of XFS
distribution is via the XFS CVS tree, if you want an up to date version of XFS
then use CVS.

If you want patches for the -ac or other alternate trees you will have to do
them yourself, using these patches as a starting point.  SGI do not track the
alternate kernel trees for XFS, there are too many differences.

Apply just the xfs-2.4.22-all-i386 patch against a pristine 2.4.22 kernel to get
a snapshot of XFS for 2.4.22-i386 as of 2003-09-03 04:09 UTC.

Or apply the split patches in this order

  xfs-2.4.22-split-kdb-i386
  xfs-2.4.22-split-only
  xfs-2.4.22-split-kernel
  xfs-2.4.22-split-misc
  xfs-2.4.22-split-acl
  xfs-2.4.22-split-dmapi

against a pristine 2.4.22 kernel to get a snapshot of XFS for 2.4.22-i386 as of
2003-09-03 04:09 UTC.

In either case the result should be identical to CVS except for RCS identifiers
and some generated files which are shipped but should not be.  Running

  diff -urN -I '$[ABD-Z].*\$' -I '#define XFS_VERSION_STRING' -x CVS -x aic7xxx -x defkeymap.c

between the result of applying these patches and the corresponding XFS CVS tree
should find no differences.

When using the -split patches, some are required, other patches are optional.
Again, do not mix the -all and -split patches, use one or the other.

Required -split patches.

  xfs-2.4.22-split-only

    All the new files added by XFS.  No changes to existing files.

  xfs-2.4.22-split-kernel

    Changes to existing kernel files to build core XFS.

  Applying just the -only and -kernel patches gets XFS support that excludes XFS
  access control lists (ACLs), DMAPI, debugging etc.  If core XFS (-only plus
  -kernel) does not compile, that is a bug.

Optional -split patches.

  xfs-2.4.22-split-kdb-i386

    The SGI kernel debugger for i386 is included in the XFS CVS tree, this patch
    is identical to the one in the kdb project area (kdb-v4.3-2.4.22-common-1 +
    i386-1).  For XFS on architectures other than ix86 you must omit this patch.
    You can use the IA64 kdb patch if you are building XFS on IA64.

  xfs-2.4.22-split-misc

    Miscellaneous patches for XFS, they all hit existing kernel files.  This
    patch sets EXTRAVERSION=-xfs and adds XFS and KDB selections to default
    configs.

    Files that are shipped and overwritten (such as SCSI firmware) cause
    problems for the SGI source repository tools and have been deleted from the
    XFS CVS tree.  The misc patch reflects those deletions.

    If Marcelo's tree contains bugs that prevent XFS from compiling or running
    then SGI will include fixes in XFS CVS, even though the bugs are nothing to
    do with XFS.  If you have already fixed the Marcelo bugs then the misc patch
    will contain duplicate changes.

  xfs-2.4.22-split-acl

    Add XFS ACL support.

  xfs-2.4.22-split-dmapi

    Add XFS DMAPI support.  In earlier split patches this contained the new
    files for dmapi plus the changes to the kernel to activate dmapi.  The new
    files have been moved to the -only patch, xfs-2.4.22-split-dmapi now
    contains just the changes to the main kernel in order to to activate dmapi.
