Commit Graph

42 Commits

Author SHA1 Message Date
Brian Behlendorf
066e825221
Linux compat: Minimum kernel version 3.10
Increase the minimum supported kernel version from 2.6.32 to 3.10.
This removes support for the following Linux enterprise distributions.

    Distribution     | Kernel | End of Life
    ---------------- | ------ | -------------
    Ubuntu 12.04 LTS | 3.2    | Apr 28, 2017
    SLES 11          | 3.0    | Mar 32, 2019
    RHEL / CentOS 6  | 2.6.32 | Nov 30, 2020

The following changes were made as part of removing support.

* Updated `configure` to enforce a minimum kernel version as
  specified in the META file (Linux-Minimum: 3.10).

    configure: error:
        *** Cannot build against kernel version 2.6.32.
        *** The minimum supported kernel version is 3.10.

* Removed all `configure` kABI checks and matching C code for
  interfaces which solely predate the Linux 3.10 kernel.

* Updated all `configure` kABI checks to fail when an interface is
  missing which was in the 3.10 kernel up to the latest 5.1 kernel.
  Removed the HAVE_* preprocessor defines for these checks and
  updated the code to unconditionally use the verified interface.

* Inverted the detection logic in several kABI checks to match
  the new interface as it appears in 3.10 and newer and not the
  legacy interface.

* Consolidated the following checks in to individual files. Due
  the large number of changes in the checks it made sense to handle
  this now.  It would be desirable to group other related checks in
  the same fashion, but this as left as future work.

  - config/kernel-blkdev.m4 - Block device kABI checks
  - config/kernel-blk-queue.m4 - Block queue kABI checks
  - config/kernel-bio.m4 - Bio interface kABI checks

* Removed the kABI checks for sops->nr_cached_objects() and
  sops->free_cached_objects().  These interfaces are currently unused.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #9566
2019-11-12 08:59:06 -08:00
Brian Behlendorf
e34c3ee2fc Tag 0.8.0
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2019-05-21 11:11:41 -07:00
Brian Behlendorf
f378f42b53 Tag 0.8.0-rc5
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2019-05-09 10:34:05 -07:00
Brian Behlendorf
17cbc2e62b Tag 0.8.0-rc4
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2019-04-16 13:24:49 -07:00
Brian Behlendorf
9b626c126e Tag 0.8.0-rc3
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2019-01-14 12:40:42 -08:00
Brian Behlendorf
af2e8411da Tag 0.8.0-rc2
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2018-11-12 11:57:15 -08:00
Brian Behlendorf
b8a90418f3 Tag 0.8.0-rc1
Major new features:
- Native encryption
- Device removal
- Allocation classes
- Pool checkpoints
- Sequential scrub and resilver
- Project quota
- Channel programs
- Direct IO

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2018-09-07 09:35:09 -07:00
Brian Behlendorf
7b98f0d91f
Linux compat 4.18: check_disk_size_change()
Added support for the bops->check_events() interface which was
added in the 2.6.38 kernel to replace bops->media_changed().
Fully implementing this functionality allows the volume resize
code to rely on revalidate_disk(), which is the preferred
mechanism, and removes the need to use check_disk_size_change().

In order for bops->check_events() to lookup the zvol_state_t
stored in the disk->private_data the zvol_state_lock needs to
be held.  Since the check events interface may poll the mutex
has been converted to a rwlock for better concurrently.  The
rwlock need only be taken as a writer in the zvol_free() path
when disk->private_data is set to NULL.

The configure checks for the block_device_operations structure
were consolidated in a single kernel-block-device-operations.m4
file.

The ZFS_AC_KERNEL_BDEV_BLOCK_DEVICE_OPERATIONS configure checks
and assoicated dead code was removed.  This interface was added
to the 2.6.28 kernel which predates the oldest supported 2.6.32
kernel and will therefore always be available.

Updated maximum Linux version in META file.  The 4.17 kernel
was released on 2018-06-03 and ZoL is compatible with the
finalized kernel.

Reviewed-by: Boris Protopopov <boris.protopopov@actifio.com>
Reviewed-by: Sara Hartse <sara.hartse@delphix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7611
2018-06-15 15:05:21 -07:00
Antonio Russo
928046b744 Explicitly state supported Linux versions
Add META tags Linux-Maximum and Linux-Minimum.

One pain point for package maintainers is ensuring the compatibility of
the packaged version of ZFS with the Linux kernel. By providing an
authoritative compatibility guide in the source tree, maintainers can
automate compatibility checks.

Additionally, increase META string extraction specificity.
configure.ac finds Name and Version by a very simple `grep`, which might
conceivably find other fields. Require the string be at the beginning of
a line, and be followed by a colon to avoid such confusions.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Giuseppe Di Natale <guss80@gmail.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
Closes #7571
2018-05-30 20:11:19 -07:00
Brian Behlendorf
ccad64314a Tag zfs-0.7.0
META file and changelog updated.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2017-07-26 10:13:25 -07:00
Brian Behlendorf
ff1cb6bf26 Tag 0.7.0-rc5
Fifth release candidate.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
`
2017-07-13 12:08:53 -07:00
Brian Behlendorf
a0e84010c9 Tag 0.7.0-rc4
Fourth release candidate.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2017-05-05 10:33:40 -07:00
Brian Behlendorf
10a3f88859 Tag 0.7.0-rc3
Third release candidate.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2017-01-20 10:18:28 -08:00
Brian Behlendorf
c6a89b58a9 Tag 0.7.0-rc2
Second release candidate.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2016-10-26 10:36:33 -07:00
Brian Behlendorf
178acea364 Tag 0.7.0-rc1
First release candidate.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2016-09-07 10:31:23 -07:00
Brian Behlendorf
7a27ad00ae Tag zfs-0.6.5
META file and release log updated.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2015-09-11 11:16:38 -07:00
Brian Behlendorf
d07a16360c Tag zfs-0.6.4
META file and release log updated.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2015-04-08 20:16:45 -07:00
Brian Behlendorf
e33045ee98 Make license compatibility checks consistent
Apply the license specified in the META file to ensure the
compatibility checks are all performed consistently.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #2757
2014-10-17 14:58:38 -07:00
Brian Behlendorf
07dabd234d Tag zfs-0.6.3
META file and release log updated.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2014-06-12 13:34:38 -07:00
Brian Behlendorf
0c28fb4808 Tag zfs-0.6.2
META file and release log updated.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2013-08-22 13:33:26 -07:00
Brian Behlendorf
36c0b62799 Tag zfs-0.6.1
META file and release log updated.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2013-03-26 08:50:29 -07:00
Brian Behlendorf
a997dfbaf0 ZFS 0.6.0-rc14 2013-02-01 11:26:55 -08:00
Brian Behlendorf
15f9d4e1c2 ZFS 0.6.0-rc13 2012-12-20 11:02:24 -08:00
Brian Behlendorf
3997bc7435 zfs-0.6.0-rc12 2012-11-13 14:35:44 -08:00
Brian Behlendorf
211204bed3 zfs-0.6.0-rc11 2012-09-18 11:30:24 -07:00
Brian Behlendorf
4276c6f576 ZFS 0.6.0-rc10 2012-08-14 08:38:19 -07:00
Brian Behlendorf
7164d09221 ZFS 0.6.0-rc9 2012-06-14 11:46:40 -07:00
Brian Behlendorf
2008ab88dd ZFS 0.6.0-rc8 2012-03-26 11:55:32 -07:00
Brian Behlendorf
43c8454724 ZFS 0.6.0-rc7 2012-03-16 11:25:13 -07:00
Brian Behlendorf
620c7598e4 Prep zfs-0.6.0-rc6 tag
Create the sixth 0.6.0 release candidate tag (rc6).
2011-10-06 14:10:45 -07:00
Brian Behlendorf
b2f25e00ec Prep zfs-0.6.0-rc5 tag
Create the fifth 0.6.0 release candidate tag (rc5).
2011-07-01 15:24:34 -07:00
Brian Behlendorf
8db77dd7ed Prep zfs-0.6.0-rc4 tag
Create the fourth 0.6.0 release candidate tag (rc4).
2011-05-03 10:29:05 -07:00
Brian Behlendorf
9b1d6001bc Prep zfs-0.6.0-rc3 tag
Create the third 0.6.0 release candidate tag (rc3).
2011-04-07 10:49:55 -07:00
Brian Behlendorf
3eae80100b Prep zfs-0.6.0-rc2 tag
Create the second 0.6.0 release candidate tag (rc2).
2011-03-09 15:26:48 -08:00
Brian Behlendorf
075cf6cb72 Prep zfs-0.6.0-rc1 tag
Create the first 0.6.0 release candidate tag (rc1).  The Posix
layer is now functional and passes fstest and several other
test suites cleanly.  We now need this release candidate tag
to broaden the test coverage before we can release the official
zfs-0.6.0.
2011-02-18 09:33:12 -08:00
Brian Behlendorf
f44b46a632 Update META to 0.6.0
Roll the version forward to 0.6.0, the addition of the Posix
layer warrents updating the major version number.
2011-02-10 09:27:22 -08:00
Brian Behlendorf
a8179b5139 Prep for 0.5.2 tag
Update META file to prep for 0.5.2 tag.
2010-11-08 14:03:36 -08:00
Brian Behlendorf
7d06aee096 Prep for zfs-0.5.1 tag 2010-09-01 16:00:15 -07:00
Brian Behlendorf
c9c0d073da Add build system
Add autoconf style build infrastructure to the ZFS tree.  This
includes autogen.sh, configure.ac, m4 macros, some scripts/*,
and makefiles for all the core ZFS components.
2010-08-31 13:41:27 -07:00
Brian Behlendorf
ef76e2f5ea Removed build system from master branch, will relocate to linux-zfs-branch 2008-12-01 15:41:33 -08:00
Brian Behlendorf
c9a9137956 First step of META build system cleanup 2008-11-26 12:53:24 -08:00
Brian Behlendorf
34dc7c2f25 Initial Linux ZFS GIT Repo 2008-11-20 12:01:55 -08:00