Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zfs-0.8.6 patchset #11322

Closed
wants to merge 10 commits into from

Conversation

tonyhutter
Copy link
Contributor

Motivation and Context

This is a patchset for zfs-0.8.6.

Description

This is a tiny release primarily intended to get zfs-0.8.x building again on Centos 8.3 (since we don't provide zfs-2.0.0 RPMs for Centos 8.3 in our main branch yet). It also includes all the patches that were in the zfs-0.8.6-staging branch.

How Has This Been Tested?

Build tested only so far. buildbot will report results.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

ndanyluk and others added 9 commits October 7, 2020 16:36
Bump max kernel version to 5.8 to match the supported releases
indicated in the release notes of 0.8.5

Signed-off-by: Nick Danyluk <[email protected]>
Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Tony Hutter <[email protected]>
This increases the Linux kernel version to 5.9 from 5.8
as most compatibility fixes should already be included.

Signed-off-by: Kjeld Schouten-Lebbing <[email protected]>
While it makes sense to make sure we don't control the generated
zfs_gitrev.h in the zfs source tree, once we copy the module sources into a
kernel source tree that's a problem.  If you're keeping your zfs sources in
a kernel tree on a branch, you want to commit all the required files.

Signed-off-by: Michael D Labriola <[email protected]>
This creates a bit of a mess in the kernel tree, and is largely unnecessary
unless you're debugging copy-builtin.

Signed-off-by: Michael D Labriola <[email protected]>
The icp Makefile was referencing absolute paths to the zfs source tree for
include files.  The result was that even though the headers get added to
the Linux kernel tree, building fails if you move/remove the zfs checkout.

Signed-off-by: Michael D Labriola <[email protected]>
Missing struct initialization in a config test results in the
interface being incorrectly detected.

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Adam Moss <[email protected]>
Signed-off-by: Mathieu Velten <[email protected]>
Closes openzfs#10713
Closes openzfs#11049
In Linux 5.10 the linux/frame.h header was renamed linux/objtool.h.
Add a configure check to detect and use the correctly named header.

Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#11085
Kernel 5.10 removed check_disk_change() in favor of callers using
the faster bdev_check_media_change() instead, and explicitly forcing
bdev revalidation when they desire that behavior. To preserve prior
behavior, I have wrapped this into a zfs_check_media_change() macro
that calls an inline function for the new API that mimics the old
behavior when check_disk_change() doesn't exist, and just calls
check_disk_change() if it exists.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Coleman Kane <[email protected]>
Closes openzfs#11085
The arc_adapt() function tunes LRU/MLU balance according to 4 types of
cache hits (which is passed as state agrument): ghost LRU, LRU, MRU,
ghost MRU. If this function is called with wrong cache hit (state),
adaptation will be sub-optimal and performance will suffer.

Some time ago upstream received this commit:

6950 ARC should cache compressed data) in arc_read() do next
sequence (access to ghost buffer)

Before this commit, hit to any ghost list was passed arc_adapt() before
call to arc_access() which revive element in cache and change state from
ghost to real hit.

After this commit, the order of calls was reverted and arc_adapt() is
now called only with «real» hits even if hit was in one of two ghost
lists, which renders ghost lists useless and breaks the ARC algorithm.

FreeBSD fixed this problem locally in Change D19094 / Commit r348772.

This change is an adaptation of the above commit to the current arc
code.

Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Matt Macy <[email protected]>
Closes openzfs#10548
Closes openzfs#10618
META file and changelog updated.

Signed-off-by: Tony Hutter <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants