mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-23 00:16:34 +03:00
066e825221
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
65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
/*
|
|
* CDDL HEADER START
|
|
*
|
|
* The contents of this file are subject to the terms of the
|
|
* Common Development and Distribution License (the "License").
|
|
* You may not use this file except in compliance with the License.
|
|
*
|
|
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
|
* or http://www.opensolaris.org/os/licensing.
|
|
* See the License for the specific language governing permissions
|
|
* and limitations under the License.
|
|
*
|
|
* When distributing Covered Code, include this CDDL HEADER in each
|
|
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
|
* If applicable, add the following below this CDDL HEADER, with the
|
|
* fields enclosed by brackets "[]" replaced with your own identifying
|
|
* information: Portions Copyright [yyyy] [name of copyright owner]
|
|
*
|
|
* CDDL HEADER END
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2011 Lawrence Livermore National Security, LLC.
|
|
*/
|
|
|
|
#ifndef _ZFS_DCACHE_H
|
|
#define _ZFS_DCACHE_H
|
|
|
|
#include <linux/dcache.h>
|
|
|
|
#define dname(dentry) ((char *)((dentry)->d_name.name))
|
|
#define dlen(dentry) ((int)((dentry)->d_name.len))
|
|
|
|
#ifndef HAVE_D_MAKE_ROOT
|
|
#define d_make_root(inode) d_alloc_root(inode)
|
|
#endif /* HAVE_D_MAKE_ROOT */
|
|
|
|
/*
|
|
* 2.6.30 API change,
|
|
* The const keyword was added to the 'struct dentry_operations' in
|
|
* the dentry structure. To handle this we define an appropriate
|
|
* dentry_operations_t typedef which can be used.
|
|
*/
|
|
typedef const struct dentry_operations dentry_operations_t;
|
|
|
|
/*
|
|
* 2.6.38 API addition,
|
|
* Added d_clear_d_op() helper function which clears some flags and the
|
|
* registered dentry->d_op table. This is required because d_set_d_op()
|
|
* issues a warning when the dentry operations table is already set.
|
|
* For the .zfs control directory to work properly we must be able to
|
|
* override the default operations table and register custom .d_automount
|
|
* and .d_revalidate callbacks.
|
|
*/
|
|
static inline void
|
|
d_clear_d_op(struct dentry *dentry)
|
|
{
|
|
dentry->d_op = NULL;
|
|
dentry->d_flags &= ~(
|
|
DCACHE_OP_HASH | DCACHE_OP_COMPARE |
|
|
DCACHE_OP_REVALIDATE | DCACHE_OP_DELETE);
|
|
}
|
|
|
|
#endif /* _ZFS_DCACHE_H */
|