summary refs log tree commit diff
path: root/pkgs/os-specific/linux
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2020-12-10 18:15:33 +0000
committerGitHub <noreply@github.com>2020-12-10 18:15:33 +0000
commit79e586aa98a964a117ea62e2be7ca6aaccf6aece (patch)
tree0769e79ce9b5dd561ae183f126ca58a46c5d3910 /pkgs/os-specific/linux
parentf0a7851ed537d7a1ef842250d9093cce9db375b3 (diff)
parent656888e1ec079e98de5dd0e3b28a29d290ea101d (diff)
downloadnixpkgs-79e586aa98a964a117ea62e2be7ca6aaccf6aece.tar
nixpkgs-79e586aa98a964a117ea62e2be7ca6aaccf6aece.tar.gz
nixpkgs-79e586aa98a964a117ea62e2be7ca6aaccf6aece.tar.bz2
nixpkgs-79e586aa98a964a117ea62e2be7ca6aaccf6aece.tar.lz
nixpkgs-79e586aa98a964a117ea62e2be7ca6aaccf6aece.tar.xz
nixpkgs-79e586aa98a964a117ea62e2be7ca6aaccf6aece.tar.zst
nixpkgs-79e586aa98a964a117ea62e2be7ca6aaccf6aece.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r--pkgs/os-specific/linux/kernel/export-rt-sched-migrate.patch11
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix5
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix9
3 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernel/export-rt-sched-migrate.patch b/pkgs/os-specific/linux/kernel/export-rt-sched-migrate.patch
new file mode 100644
index 00000000000..1d8ed6f712c
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/export-rt-sched-migrate.patch
@@ -0,0 +1,11 @@
+Export linux-rt (PREEMPT_RT) specific symbols needed by ZFS.
+(Regular kernel provides them static inline in linux/preempt.h.)
+
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -1812 +1812 @@ void migrate_disable(void)
+-EXPORT_SYMBOL_GPL(migrate_disable);
++EXPORT_SYMBOL(migrate_disable);
+@@ -1843 +1843 @@ void migrate_enable(void)
+-EXPORT_SYMBOL_GPL(migrate_enable);
++EXPORT_SYMBOL(migrate_enable);
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 8ce1ac2b587..e2805c315b8 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -87,6 +87,11 @@
     };
   };
 
+  export-rt-sched-migrate = {
+    name = "export-rt-sched-migrate";
+    patch = ./export-rt-sched-migrate.patch;
+  };
+
   # patches from https://lkml.org/lkml/2019/7/15/1748
   mac_nvme_t2 = rec {
     name = "mac_nvme_t2";
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index a83e554b6f0..a2464aeb586 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -176,6 +176,11 @@ let
         maintainers = with maintainers; [ hmenke jcumming jonringer wizeman fpletz globin mic92 ];
       };
     };
+
+  linux-rt-patch = fetchpatch {
+    url = "https://github.com/openzfs/zfs/commit/ab4fb9b74e9d089fc9a261c4f41e19697ad6a4ca.patch";
+    sha256 = "1nrxmb4rhrkgncav6dzwm66l0700fi72qkkcs0w6pkm850srws36";
+  };
 in {
   # also check if kernel version constraints in
   # ./nixos/modules/tasks/filesystems/zfs.nix needs
@@ -188,6 +193,8 @@ in {
     version = "2.0.0";
 
     sha256 = "1kriz6pg8wj98izvjc60wp23lgcp4k3mzhpkgj74np73rzgy6v8r";
+
+    extraPatches = [ linux-rt-patch ];
   };
 
   zfsUnstable = common {
@@ -198,5 +205,7 @@ in {
     version = "2.0.0";
 
     sha256 = "1kriz6pg8wj98izvjc60wp23lgcp4k3mzhpkgj74np73rzgy6v8r";
+
+    extraPatches = [ linux-rt-patch ];
   };
 }