Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 66ef8d3dc8 | |||
| 0471bf2222 | |||
| 592bf54c1d | |||
| d5320c35ef | |||
| daea70c06f | |||
| d2d19b30ac | |||
| 453933b504 | |||
| 7c44e0fd4f | |||
| 846641b44e | |||
| 7c3580f1e2 | |||
| 406e3116ab | |||
| 4e4e9f07b7 | |||
| c40521f90e | |||
| 815c0cb231 | |||
| c636d46615 | |||
| 9d8f7eac7e | |||
| 3e7179aab5 | |||
| cf62ae92d0 | |||
| 1bc51c3067 | |||
| ba79ebf386 | |||
| a7a04bbd41 | |||
| dcf2989454 |
@@ -0,0 +1,7 @@
|
|||||||
|
/*.build
|
||||||
|
/*.buildinfo
|
||||||
|
/*.changes
|
||||||
|
/*.deb
|
||||||
|
/*.dsc
|
||||||
|
/*.tar*
|
||||||
|
/zfs-utils-*.*/
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
include /usr/share/dpkg/default.mk
|
include /usr/share/dpkg/default.mk
|
||||||
# source form https://github.com/zfsonlinux/
|
# source form https://github.com/zfsonlinux/
|
||||||
|
|
||||||
ZFSDIR=zfs-linux_$(DEB_VERSION_UPSTREAM)
|
PACKAGE = zfs-linux
|
||||||
ZFSSRC=upstream
|
|
||||||
ORIG_SRC_TAR=$(ZFSDIR).orig.tar.gz
|
SRCDIR = upstream
|
||||||
|
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
|
||||||
|
ORIG_SRC_TAR = $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
|
||||||
|
|
||||||
ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
|
ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
|
||||||
|
|
||||||
@@ -30,10 +32,14 @@ DEBS= $(ZFS_DEB1) $(ZFS_DEB2) $(ZFS_DBG_DEBS)
|
|||||||
ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc
|
ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc
|
||||||
|
|
||||||
all: deb
|
all: deb
|
||||||
.PHONY: deb
|
|
||||||
|
.PHONY: deb dsc
|
||||||
deb: $(DEBS)
|
deb: $(DEBS)
|
||||||
.PHONY: dsc
|
|
||||||
dsc: $(ZFS_DSC)
|
dsc:
|
||||||
|
rm -rf *.dsc $(BUILDDIR)
|
||||||
|
$(MAKE) $(ZFS_DSC)
|
||||||
|
lintian $(ZFS_DSC)
|
||||||
|
|
||||||
# called from pve-kernel's Makefile to get patched sources
|
# called from pve-kernel's Makefile to get patched sources
|
||||||
.PHONY: kernel
|
.PHONY: kernel
|
||||||
@@ -47,37 +53,36 @@ dinstall: $(DEBS)
|
|||||||
|
|
||||||
.PHONY: submodule
|
.PHONY: submodule
|
||||||
submodule:
|
submodule:
|
||||||
test -f "$(ZFSSRC)/README.md" || git submodule update --init
|
test -f "$(SRCDIR)/README.md" || git submodule update --init
|
||||||
$(ZFSSRC)/README.md: submodule
|
|
||||||
|
$(SRCDIR)/README.md: submodule
|
||||||
|
|
||||||
.PHONY: zfs
|
.PHONY: zfs
|
||||||
zfs: $(DEBS)
|
zfs: $(DEBS)
|
||||||
$(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
|
$(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
|
||||||
$(ZFS_DEB1): $(ZFSDIR)
|
$(ZFS_DEB1): $(BUILDDIR)
|
||||||
cd $(ZFSDIR); dpkg-buildpackage -b -uc -us
|
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
|
||||||
lintian $(DEBS)
|
lintian $(DEBS)
|
||||||
|
|
||||||
$(ORIG_SRC_TAR): $(ZFSDIR)
|
$(ORIG_SRC_TAR): $(BUILDDIR)
|
||||||
tar czf $(ORIG_SRC_TAR) --exclude="$(ZFSDIR)/debian" $(ZFSDIR)
|
tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
|
||||||
|
|
||||||
$(ZFS_DSC): $(ZFSDIR) $(ORIG_SRC_TAR)
|
$(ZFS_DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
|
||||||
tar czf zfs-linux_$(ZFSVER).orig.tar.gz $(ZFSDIR)
|
cd $(BUILDDIR); dpkg-buildpackage -S -uc -us -d
|
||||||
cd $(ZFSDIR); dpkg-buildpackage -S -uc -us -d
|
|
||||||
lintian $@
|
|
||||||
|
|
||||||
sbuild: $(ZFS_DSC)
|
sbuild: $(ZFS_DSC)
|
||||||
sbuild $(ZFS_DSC)
|
sbuild $(ZFS_DSC)
|
||||||
|
|
||||||
$(ZFSDIR): $(ZFSSRC)/README.md $(ZFSSRC) debian
|
$(BUILDDIR): $(SRCDIR)/README.md $(SRCDIR) debian
|
||||||
rm -rf $(ZFSDIR) $(ZFSDIR).tmp
|
rm -rf $@ $@.tmp
|
||||||
cp -a $(ZFSSRC) $(ZFSDIR).tmp
|
cp -a $(SRCDIR) $@.tmp
|
||||||
cp -a debian $(ZFSDIR).tmp/debian
|
cp -a debian $@.tmp/debian
|
||||||
mv $(ZFSDIR).tmp $(ZFSDIR)
|
mv $@.tmp $@
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.* $(ZFSDIR)
|
rm -rf $(PACKAGE)-[0-9]*/
|
||||||
|
rm -f *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.*
|
||||||
|
|
||||||
.PHONY: distclean
|
.PHONY: distclean
|
||||||
distclean: clean
|
distclean: clean
|
||||||
|
|||||||
Vendored
+26
@@ -1,3 +1,29 @@
|
|||||||
|
zfs-linux (2.1.15-pve1) bullseye; urgency=medium
|
||||||
|
|
||||||
|
* update ZFS to 2.1.15
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Fri, 29 Mar 2024 15:18:31 +0100
|
||||||
|
|
||||||
|
zfs-linux (2.1.14-pve1) bullseye; urgency=medium
|
||||||
|
|
||||||
|
* update ZFS to 2.1.14
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Fri, 01 Dec 2023 13:47:16 +0100
|
||||||
|
|
||||||
|
zfs-linux (2.1.13-pve1) bookworm; urgency=medium
|
||||||
|
|
||||||
|
* update ZFS to 2.1.13
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Thu, 28 Sep 2023 12:22:28 +0200
|
||||||
|
|
||||||
|
zfs-linux (2.1.12-pve1) bookworm; urgency=medium
|
||||||
|
|
||||||
|
* update ZFS to 2.1.12
|
||||||
|
|
||||||
|
* zfs trim: avoid exit-failure if last pool isn't nvme-only
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Tue, 13 Jun 2023 15:25:16 +0200
|
||||||
|
|
||||||
zfs-linux (2.1.11-pve2) bookworm; urgency=medium
|
zfs-linux (2.1.11-pve2) bookworm; urgency=medium
|
||||||
|
|
||||||
* re-build for Debian 12 Bookworm based releases
|
* re-build for Debian 12 Bookworm based releases
|
||||||
|
|||||||
Vendored
+14
@@ -285,3 +285,17 @@ Description: Solaris Porting Layer user-space utilities for Linux (dummy)
|
|||||||
to Linux primitives.
|
to Linux primitives.
|
||||||
.
|
.
|
||||||
This is a transitional dummy package. It can safely be removed.
|
This is a transitional dummy package. It can safely be removed.
|
||||||
|
|
||||||
|
Package: zfs-dbg
|
||||||
|
Section: contrib/metapackages
|
||||||
|
Architecture: all
|
||||||
|
Suggests: libnvpair3linux-dbgsym,
|
||||||
|
libpam-zfs-dbgsym,
|
||||||
|
libuutil3linux-dbgsym,
|
||||||
|
libzfs4linux-dbgsym,
|
||||||
|
libzfsbootenv1linux-dbgsym,
|
||||||
|
libzpool5linux-dbgsym,
|
||||||
|
zfs-test-dbgsym,
|
||||||
|
zfsutils-linux-dbgsym,
|
||||||
|
zfs-zed-dbgsym,
|
||||||
|
Description: Transitional package. It can be safely removed.
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
|
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
|
||||||
index 227b26c26..240d0dbfa 100644
|
index 1dfd43454..0180dd827 100644
|
||||||
--- a/cmd/zed/zed.d/zed.rc
|
--- a/cmd/zed/zed.d/zed.rc
|
||||||
+++ b/cmd/zed/zed.d/zed.rc
|
+++ b/cmd/zed/zed.d/zed.rc
|
||||||
@@ -42,7 +42,7 @@ ZED_EMAIL_ADDR="root"
|
@@ -42,7 +42,7 @@ ZED_EMAIL_ADDR="root"
|
||||||
|
|||||||
+2
-2
@@ -17,10 +17,10 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/cmd/zed/zed.d/Makefile.am b/cmd/zed/zed.d/Makefile.am
|
diff --git a/cmd/zed/zed.d/Makefile.am b/cmd/zed/zed.d/Makefile.am
|
||||||
index 2c8173b3e..ad39292e4 100644
|
index 1905a9207..6dc06252a 100644
|
||||||
--- a/cmd/zed/zed.d/Makefile.am
|
--- a/cmd/zed/zed.d/Makefile.am
|
||||||
+++ b/cmd/zed/zed.d/Makefile.am
|
+++ b/cmd/zed/zed.d/Makefile.am
|
||||||
@@ -49,7 +49,7 @@ install-data-hook:
|
@@ -51,7 +51,7 @@ install-data-hook:
|
||||||
for f in $(zedconfdefaults); do \
|
for f in $(zedconfdefaults); do \
|
||||||
test -f "$(DESTDIR)$(zedconfdir)/$${f}" -o \
|
test -f "$(DESTDIR)$(zedconfdir)/$${f}" -o \
|
||||||
-L "$(DESTDIR)$(zedconfdir)/$${f}" || \
|
-L "$(DESTDIR)$(zedconfdir)/$${f}" || \
|
||||||
|
|||||||
+87
@@ -0,0 +1,87 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rich Ercolani <214141+rincebrain@users.noreply.github.com>
|
||||||
|
Date: Sat, 26 Aug 2023 14:25:46 -0400
|
||||||
|
Subject: [PATCH] Avoid save/restoring AMX registers to avoid a SPR erratum
|
||||||
|
|
||||||
|
Intel SPR erratum SPR4 says that if you trip into a vmexit while
|
||||||
|
doing FPU save/restore, your AMX register state might misbehave...
|
||||||
|
and by misbehave, I mean save all zeroes incorrectly, leading to
|
||||||
|
explosions if you restore it.
|
||||||
|
|
||||||
|
Since we're not using AMX for anything, the simple way to avoid
|
||||||
|
this is to just not save/restore those when we do anything, since
|
||||||
|
we're killing preemption of any sort across our save/restores.
|
||||||
|
|
||||||
|
If we ever decide to use AMX, it's not clear that we have any
|
||||||
|
way to mitigate this, on Linux...but I am not an expert.
|
||||||
|
|
||||||
|
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
|
||||||
|
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
|
||||||
|
Closes #14989
|
||||||
|
Closes #15168
|
||||||
|
(cherry picked from commit 277f2e587b085d1eb8aa48b4ac0768a9ef5745ab)
|
||||||
|
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||||
|
---
|
||||||
|
include/os/linux/kernel/linux/simd_x86.h | 19 ++++++++++++++-----
|
||||||
|
1 file changed, 14 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/os/linux/kernel/linux/simd_x86.h b/include/os/linux/kernel/linux/simd_x86.h
|
||||||
|
index 660f0d42d..455167ac8 100644
|
||||||
|
--- a/include/os/linux/kernel/linux/simd_x86.h
|
||||||
|
+++ b/include/os/linux/kernel/linux/simd_x86.h
|
||||||
|
@@ -157,6 +157,15 @@
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef XFEATURE_MASK_XTILE
|
||||||
|
+/*
|
||||||
|
+ * For kernels where this doesn't exist yet, we still don't want to break
|
||||||
|
+ * by save/restoring this broken nonsense.
|
||||||
|
+ * See issue #14989 or Intel errata SPR4 for why
|
||||||
|
+ */
|
||||||
|
+#define XFEATURE_MASK_XTILE 0x60000
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <linux/mm.h>
|
||||||
|
#include <linux/slab.h>
|
||||||
|
|
||||||
|
@@ -319,18 +328,18 @@ kfpu_begin(void)
|
||||||
|
union fpregs_state *state = zfs_kfpu_fpregs[smp_processor_id()];
|
||||||
|
#if defined(HAVE_XSAVES)
|
||||||
|
if (static_cpu_has(X86_FEATURE_XSAVES)) {
|
||||||
|
- kfpu_do_xsave("xsaves", &state->xsave, ~0);
|
||||||
|
+ kfpu_do_xsave("xsaves", &state->xsave, ~XFEATURE_MASK_XTILE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#if defined(HAVE_XSAVEOPT)
|
||||||
|
if (static_cpu_has(X86_FEATURE_XSAVEOPT)) {
|
||||||
|
- kfpu_do_xsave("xsaveopt", &state->xsave, ~0);
|
||||||
|
+ kfpu_do_xsave("xsaveopt", &state->xsave, ~XFEATURE_MASK_XTILE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (static_cpu_has(X86_FEATURE_XSAVE)) {
|
||||||
|
- kfpu_do_xsave("xsave", &state->xsave, ~0);
|
||||||
|
+ kfpu_do_xsave("xsave", &state->xsave, ~XFEATURE_MASK_XTILE);
|
||||||
|
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
|
||||||
|
kfpu_save_fxsr(&state->fxsave);
|
||||||
|
} else {
|
||||||
|
@@ -415,12 +424,12 @@ kfpu_end(void)
|
||||||
|
union fpregs_state *state = zfs_kfpu_fpregs[smp_processor_id()];
|
||||||
|
#if defined(HAVE_XSAVES)
|
||||||
|
if (static_cpu_has(X86_FEATURE_XSAVES)) {
|
||||||
|
- kfpu_do_xrstor("xrstors", &state->xsave, ~0);
|
||||||
|
+ kfpu_do_xrstor("xrstors", &state->xsave, ~XFEATURE_MASK_XTILE);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (static_cpu_has(X86_FEATURE_XSAVE)) {
|
||||||
|
- kfpu_do_xrstor("xrstor", &state->xsave, ~0);
|
||||||
|
+ kfpu_do_xrstor("xrstor", &state->xsave, ~XFEATURE_MASK_XTILE);
|
||||||
|
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
|
||||||
|
kfpu_restore_fxsr(&state->fxsave);
|
||||||
|
} else {
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
Vendored
+1
@@ -8,3 +8,4 @@
|
|||||||
0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
|
0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
|
||||||
0009-arcstat-Fix-integer-division-with-python3.patch
|
0009-arcstat-Fix-integer-division-with-python3.patch
|
||||||
0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
|
0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
|
||||||
|
0011-Avoid-save-restoring-AMX-registers-to-avoid-a-SPR-er.patch
|
||||||
|
|||||||
Vendored
+3
@@ -91,6 +91,9 @@ override_dh_python3:
|
|||||||
override_dh_makeshlibs:
|
override_dh_makeshlibs:
|
||||||
dh_makeshlibs -a -V
|
dh_makeshlibs -a -V
|
||||||
|
|
||||||
|
override_dh_strip:
|
||||||
|
dh_strip --dbgsym-migration='zfs-dbg (<< 2.0.4~)'
|
||||||
|
|
||||||
override_dh_auto_clean:
|
override_dh_auto_clean:
|
||||||
find . -name .gitignore -delete
|
find . -name .gitignore -delete
|
||||||
rm -rf zfs-$(DEB_VERSION_UPSTREAM)
|
rm -rf zfs-$(DEB_VERSION_UPSTREAM)
|
||||||
|
|||||||
+1
-1
@@ -60,7 +60,7 @@ do
|
|||||||
case "${ret}" in
|
case "${ret}" in
|
||||||
disable);;
|
disable);;
|
||||||
enable) trim_if_not_already_trimming "${pool}" ;;
|
enable) trim_if_not_already_trimming "${pool}" ;;
|
||||||
-|auto) pool_is_nvme_only "${pool}" && trim_if_not_already_trimming "${pool}" ;;
|
-|auto) if pool_is_nvme_only "${pool}"; then trim_if_not_already_trimming "${pool}"; fi ;;
|
||||||
*) cat > /dev/stderr <<EOF
|
*) cat > /dev/stderr <<EOF
|
||||||
$0: [WARNING] illegal value "${ret}" for property "${PROPERTY_NAME}" of ZFS dataset "${pool}".
|
$0: [WARNING] illegal value "${ret}" for property "${PROPERTY_NAME}" of ZFS dataset "${pool}".
|
||||||
$0: Acceptable choices for this property are: auto, enable, disable. The default is auto.
|
$0: Acceptable choices for this property are: auto, enable, disable. The default is auto.
|
||||||
|
|||||||
Vendored
+2
@@ -31,6 +31,7 @@ sbin/zstream
|
|||||||
sbin/zstreamdump
|
sbin/zstreamdump
|
||||||
usr/bin/zvol_wait
|
usr/bin/zvol_wait
|
||||||
usr/lib/modules-load.d/ lib/
|
usr/lib/modules-load.d/ lib/
|
||||||
|
usr/lib/zfs-linux/zfs_prepare_disk
|
||||||
usr/lib/zfs-linux/zpool.d/
|
usr/lib/zfs-linux/zpool.d/
|
||||||
usr/lib/zfs-linux/zpool_influxdb
|
usr/lib/zfs-linux/zpool_influxdb
|
||||||
usr/sbin/arc_summary
|
usr/sbin/arc_summary
|
||||||
@@ -68,6 +69,7 @@ usr/share/man/man8/zfs-list.8
|
|||||||
usr/share/man/man8/zfs-load-key.8
|
usr/share/man/man8/zfs-load-key.8
|
||||||
usr/share/man/man8/zfs-mount-generator.8
|
usr/share/man/man8/zfs-mount-generator.8
|
||||||
usr/share/man/man8/zfs-mount.8
|
usr/share/man/man8/zfs-mount.8
|
||||||
|
usr/share/man/man8/zfs_prepare_disk.8
|
||||||
usr/share/man/man8/zfs-program.8
|
usr/share/man/man8/zfs-program.8
|
||||||
usr/share/man/man8/zfs-project.8
|
usr/share/man/man8/zfs-project.8
|
||||||
usr/share/man/man8/zfs-projectspace.8
|
usr/share/man/man8/zfs-projectspace.8
|
||||||
|
|||||||
+1
-1
Submodule upstream updated: e25f9131d6...fb6d532066
Reference in New Issue
Block a user