This directory contains the patches needed to convert ext4 into ldiskfs.
+They are applied automatically during the ldiskfs build process and
+should not be applied to the core kernel directly.
We need to be able to create a version of ldiskfs from the ext4 source
code found in multiple versions of the kernel. That ext4 source code can
------------------------
Therefore, we split the patches into multiple subdirectories in the
-"patches" directory. These subdirecotories are named after the
-version of the Linux distribution against which they were developed.
-For instance, "patches/rhel6.3" and "patches/sles11sp1".
+"kernel_patches/patches" directory. These subdirecotories are named
+after the version of the Linux distribution against which they were
+developed. For instance, "patches/rhel6.3" and "patches/sles11sp1".
When creating a new patch, put it in the subdirectory for the
distribution for which it was first created.
directly list "patches/rhel6.3/foo.patch". A copy of the same patch
should only be made when the patch will not apply without changes.
-Refreshing patches for a new kernel/distribution
+Updating patches for a new kernel/distribution
------------------------------------------------
When adding support for a new OS distribution release and its new
version of the kernel, it is common to begin by copying the patch
series file from a similar OS release. For instance, when beginning
to add support for the RHEL 6.4 kernel, one might copy the
-series/ldiskfs-2.6-rhel6.3.series file to the new name
-series/ldiskfs-2.6-rhel6.4.series.
+kernel_patches/series/ldiskfs-2.6-rhel6.3.series file to the new name
+kernel_patches/series/ldiskfs-2.6-rhel6.4.series.
When applying that series, some patches are likely to succeed and others
to fail to apply. When a patch fails to apply, a copy of it should be
The next step would be to edit series/ldiskfs-2.6-rhel6.4.series to point
to the new patch. Finally, the developer may edit files and "quilt refresh"
the new patch.
+
+Detecting which patch series to apply
+-------------------------------------
+
+If a new kernel/distro is being added, in order for these patches to be
+applied during the build process, the kernel version needs to map to a
+specific series. This is done in config/lustre-build-ldiskfs.m4 in the
+LDISKFS_LINUX_SERIES check.
TBD Intel Corporation
* version 2.6.0
* See http://wiki.whamcloud.com/display/PUB/Lustre+Support+Matrix
- * Server support for kernels:
- 2.6.32-431.11.2.el6 (RHEL6)
- 3.0.101-0.21 (SLES11SP3)
- * Client support for unpatched kernels:
- 2.6.32-431.11.2.el6 (RHEL6)
- 3.0.101-0.21 (SLES11SP3)
- 2.6.18-348.3.1.el5 (RHEL5)
- * Recommended e2fsprogs version: 1.42.9.wc1
+ for currently supported client and server kernel versions.
+ * Server known to build on patched kernels:
+ 2.6.32-431.11.2.el6 (RHEL6.5)
+ 3.0.101-0.21 (SLES11 SP3)
+ * Client known to build on unpatched kernels:
+ 2.6.32-431.11.2.el6 (RHEL6.5)
+ 3.0.101-0.21 (SLES11 SP3)
+ 3.6.10-4.fc18 (FC18)
+ 3.10 (kernel.org)
+ * Recommended e2fsprogs version: 1.42.9.wc1 or newer
* NFS export disabled when stack size < 8192 (32-bit Lustre clients),
since the NFSv4 export of Lustre filesystem with 4K stack may cause a
stack overflow. For more information, please refer to bugzilla 17630.
10-31-2013 Intel Corporation
* version 2.5.0
- * See http://wiki.whamcloud.com/display/PUB/Lustre+Support+Matrix
- * Server support for kernels:
- 2.6.32-358.18.1.el6 (RHEL6)
- * Client support for unpatched kernels:
- 2.6.32-358.18.1.el6 (RHEL6)
- 2.6.27.19-5 (SLES11)
- 2.6.18-348.3.1.el5 (RHEL5)
- 2.6.16.60-0.69.1 (SLES10)
- 3.6.10-2.fc17 (FC17)
- * Recommended e2fsprogs version: 1.42.7.wc1
+ * See http://wiki.hpdd.intel.com/display/PUB/Lustre+Support+Matrix
+ * Server builds for kernels:
+ 2.6.32-358.18.1.el6 (RHEL6.4)
+ * Client builds for unpatched kernels:
+ 2.6.32-358.18.1.el6 (RHEL6.4)
+ 3.0.92-0.8 (SLES11 SP3)
+ 3.6.10-4.fc18 (FC18)
+ * Recommended e2fsprogs version: 1.42.7.wc2 or newer
* NFS export disabled when stack size < 8192 (32-bit Lustre clients),
since the NFSv4 export of Lustre filesystem with 4K stack may cause a
stack overflow. For more information, please refer to bugzilla 17630.
05-30-2013 Intel Corporation
* version 2.4.0
* See http://wiki.whamcloud.com/display/PUB/Lustre+Support+Matrix
- * Server support for kernels:
- 2.6.32-358.6.1.el6 (RHEL6)
- * Client support for unpatched kernels:
- 2.6.32-358.6.1.el6 (RHEL6)
- 2.6.27.19-5 (SLES11)
- 2.6.18-348.3.1.el5 (RHEL5)
- 2.6.16.60-0.69.1 (SLES10)
+ * Server builds for kernels:
+ 2.6.32-358.6.2.el6 (RHEL6.4)
+ * Client builds for unpatched kernels:
+ 2.6.32-358.6.2.el6 (RHEL6.4)
+ 3.0.74-0.6.6 (SLES11 SP2)
3.6.10-2.fc17 (FC17)
- * Recommended e2fsprogs version: 1.42.7.wc1
+ * Recommended e2fsprogs version: 1.42.7.wc1 or newer
* NFS export disabled when stack size < 8192 (32-bit Lustre clients),
since the NFSv4 export of Lustre filesystem with 4K stack may cause a
stack overflow. For more information, please refer to bugzilla 17630.
-SERIES VERSION COMMENT
+Note that Lustre server kernels do not REQUIRE patches to the core kernel
+code in order to function. However, the server kernel patches may improve
+performance significantly. Lustre may not work with the latest kernels
+due to API changes in the kernel. See lustre/ChangeLog for details.
-SUPPORTED KERNELS:
-2.6-rhel6 RHEL6: 2.6.32-431.11.2.el6
-3.0-sles11sp3 SLES11SP3: 3.0.101-0.21
+In addition to the patches that should be applied to the core kernel,
+patches are required for a specific kernel in order to build the ldiskfs
+module from ext4. Those patches are applied automatically during the
+ldiskfs build process and SHOULD NOT be applied to the kernel directly.
-CLIENT SUPPORT FOR UNPATCHED KERNELS:
- 2.6.18-348.3.1.el5 (RHEL5)
- 2.6.32-431.11.2.el6 (RHEL6)
- 3.0.101-0.21 (SLES11SP3)
+Servers running only ZFS OSDs DO NOT need any patches.
+
+Clients since 2.6.18 DO NOT need any patches.
+
+PATCH SERIES FOR SERVER KERNELS:
+2.6-rhel6.series 2.6.32-431.11.2.el6
+3.0-sles11sp3.series 3.0.101-0.21
+
+See lustre/ChangeLog for supported client kernel versions.