vol: use ffs from opr instead of inline
[openafs.git] / README
diff --git a/README b/README
index 393f475..e65d1c9 100644 (file)
--- a/README
+++ b/README
@@ -31,43 +31,39 @@ A  Configuring
       into with this name when you build.
 
       alpha_dux40, alpha_dux50, alpha_dux51 (client does not work)
-      alpha_linux22, alpha_linux24, alpha_linux26
+      alpha_linux26
       alpha_nbsd15, alpha_nbsd16
-      amd64_fbsd_53 (client does not work)
-      amd64_linux24, amd64_linux26
+      amd64_fbsd_80, amd64_fbsd_81, amd64_fbsd_82, amd64_fbsd_83,
+         amd64_fbsd_84, amd64_fbsd_90, amd64_fbsd_91, amd64_fbsd_92,
+         amd64_fbsd_93, amd64_fbsd_100, amd64_fbsd_101
+      amd64_linux26
       amd64_nbsd20, amd64_nbsd30, amd64_nbsd40
-      arm_linux24, arm_linux26
+      arm_linux26
       hp_ux11i, hp_ux110, hp_ux1123 (See notes below for information on
          getting missing header)
       hp_ux102 (Client port possible, but db servers and utilities work)
-      i386_fbsd_50, i386_fbsd_51, i386_fbsd_52, i386_fbsd_53,
-         i386_fbsd_60, i386_fbsd_61, i386_fbsd_62, i386_fbsd_70,
-         i386_fbsd_80, i386_fbsd_81, i386_fbsd_90, amd64_fbsd_50,
-         amd64_fbsd_51, amd64_fbsd_52, amd64_fbsd_53, amd64_fbsd_60,
-         amd64_fbsd_61, amd64_fbsd_62, amd64_fbsd_70, amd64_fbsd_80,
-         amd64_fbsd_81, amd64_fbsd_90
-         (client may work on 70 and later)
-      i386_linux22, i386_linux24, i386_linux26
+      i386_fbsd_80, i386_fbsd_81, i386_fbsd_82, i386_fbsd_83,
+         i386_fbsd_84, i386_fbsd_90, i386_fbsd_91, i386_fbsd_92,
+         i386_fbsd_93, i386_fbsd_100, i386_fbsd_101
+      i386_linux26
       i386_nbsd15, i386_nbsd16, i386_nbsd20, i386_nbsd21, i386_nbsd30,
          i386_nbsd40
       i386_obsd31, i386_obsd32, i386_obsd33, i386_obsd34, i386_obsd35,
          i386_obsd36, i386_obsd37, i386_obsd38, i386_obsd39, i386_obsd40,
          i386_obsd41
-      i386_umlinux22, i386_umlinux24, i386_umlinux26
+      i386_umlinux26
       ia64_hpux1122, ia64_hpux1123
-      ia64_linux24, ia64_linux26
-      parisc_linux24
-      ppc64_linux24, ppc64_linux26
+      ia64_linux26
+      ppc64_linux26
       ppc_darwin_12, ppc_darwin_13, ppc_darwin_14, ppc_darwin_60,
          ppc_darwin_70, ppc_darwin_80, ppc_darwin_90
-      ppc_linux22, ppc_linux24, ppc_linux26
+      ppc_linux26
       ppc_nbsd16, ppc_nbsd20
       rs_aix42, rs_aix51, rs_aix52, rs_aix53, rs_aix61
-      s390_linux22, s390_linux24, s390_linux26
-      s390x_linux24, s390x_linux26
+      s390_linux26
+      s390x_linux26
       sgi_62, sgi_63, sgi_64, sgi_65 (file server not tested)
-      sparc64_linux22, sparc64_linux24, sparc64_linux26
-      sparc_linux22, sparc_linux24
+      sparc64_linux26
       sun4x_58, sun4x_59, sun4x_510, sun4x_511
          (logging UFS not supported for mixed-use partitions containing
          client cache)
@@ -155,7 +151,7 @@ B  Building
       directory tree, or if you configured with --enable-transarc-paths
       make dest to create a complete binary tree in the dest directory
       under the directory named for the sys_name you built for,
-      e.g. sun4x_57/dest or i386_linux22/dest
+      e.g. sun4x_57/dest or i386_linux26/dest
 
    3. As appropriate you can clean up or, if you're using Linux, build for
       another kernel version.
@@ -187,7 +183,7 @@ D  Linux Notes
    "include". So if your version file were
    /usr/src/linux/include/linux/version.h you would run:
 
-   % ./configure --with-afs-sysname=i386_linux24 \
+   % ./configure --with-afs-sysname=i386_linux26 \
        --with-linux-kernel-headers=/usr/src/linux
 
    Currently you can build for only one Linux kernel at a time, and the
@@ -198,7 +194,7 @@ D  Linux Notes
    then run:
 
       % ./configure --with-afs-sysname=<sysname> \
-          --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686
+          --with-linux-kernel-headers=/usr/src/linux-3.19-i686
       % make
 
    Your build tree will now include an additional kernel module for your
@@ -207,6 +203,10 @@ D  Linux Notes
    last kernel you built for, the previous kernel module will be
    overwritten.
 
+   The Linux 2.4 series (and older) are no longer supported. The OpenAFS 1.6
+   series of releases are the last ones supporting those old kernels and in
+   particular their LinuxThreads.
+
 E  HP-UX 11.0 Notes
 
    HP-UX 11.0 requires a header called vfs_vm.h which HP has provided on
@@ -236,8 +236,11 @@ F  OpenBSD Notes
 
 G  FreeBSD Notes
 
-   The FreeBSD client may now work; It is tested on 7.0 and on current
-   as of the commit date.
+   The FreeBSD client supports FreeBSD 8.x and later, but does not receive
+   regular testing on versions older than FreeBSD 9.x at this time.  Only
+   the amd64 and i386 architectures are supported, but it should not be
+   hard to port to other processors if they are already supported under
+   another operating system.
 
    You need kernel source installed to build OpenAFS.  Use the
    --with-bsd-kernel-headers= configure option if your kernel source is
@@ -250,11 +253,6 @@ G  FreeBSD Notes
    /usr/obj/usr/src/sys/GENERIC you may need to resolve that and retry the
    build.
 
-   There is no server package, but I am told that "make install" will put
-   server binaries in /usr/afs.
-
-   You can't run arla and OpenAFS at the same time.
-
 H  AIX notes
 
    Make sure that your default build environment is 32bit, ie.
@@ -302,6 +300,20 @@ I  Other configure options
        by the option with debugging information.  If --enable-debug is
        given, also do not strip binaries when installing them.
 
+   --enable-linux-d_splice_alias-extra-iput
+       Work around a kernel memory leak present in a few Linux kernels.
+       The only affected mainline kernels are 3.17 to 3.17.2, but this
+       switch will also be required should a distribution backport commit
+       908790fa3b779d37365e6b28e3aa0f6e833020c3 or commit
+       95ad5c291313b66a98a44dc92b57e0b37c1dd589 but not the fix in commit
+       51486b900ee92856b977eacfc5bfbe6565028070 from the linux-stable repo
+       (git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git) or
+       the corresponding changes on other branches. This is impossible to
+       detect automatically. Without this switch, the openafs module will
+       build and work even with affected kernels. But it will leak kernel
+       memory, leading to performance degradation and eventually system
+       failure due to memory exhaustion.
+
    --enable-linux-syscall-probing
        OpenAFS now uses keyrings to manage PAGs by default on Linux, which
        does not require hooking into the system call table.  On older