1 Commits

Author SHA1 Message Date
Fabian Grünbichler a3420151a0 update make upload target 2017-03-10 09:36:44 +01:00
21 changed files with 503 additions and 507 deletions
-6
View File
@@ -1,6 +0,0 @@
[submodule "zfs-debian"]
path = zfs-debian
url = ../mirror_zfs-debian
[submodule "spl-debian"]
path = spl-debian
url = ../mirror_spl-debian
+31 -23
View File
@@ -1,17 +1,17 @@
RELEASE=5.1 RELEASE=4.1
# source form https://github.com/zfsonlinux/ # source form https://github.com/zfsonlinux/
ZFSVER=0.7.4 ZFSVER=0.6.5.9
ZFSPKGREL=pve1~bpo9 ZFSPKGREL=pve15~bpo80
SPLPKGREL=pve1~bpo9 SPLPKGREL=pve8~bpo80
ZFSPKGVER=${ZFSVER}-${ZFSPKGREL} ZFSPKGVER=${ZFSVER}-${ZFSPKGREL}
SPLPKGVER=${ZFSVER}-${SPLPKGREL} SPLPKGVER=${ZFSVER}-${SPLPKGREL}
SPLDIR=spl-build SPLDIR=pkg-spl
SPLSRC=spl-debian SPLSRC=pkg-spl.tar.gz
ZFSDIR=zfs-build ZFSDIR=pkg-zfs
ZFSSRC=zfs-debian ZFSSRC=pkg-zfs.tar.gz
SPL_DEBS= \ SPL_DEBS= \
spl_${SPLPKGVER}_amd64.deb spl_${SPLPKGVER}_amd64.deb
@@ -25,28 +25,27 @@ libzpool2linux_${ZFSPKGVER}_amd64.deb \
zfs-dbg_${ZFSPKGVER}_amd64.deb \ zfs-dbg_${ZFSPKGVER}_amd64.deb \
zfs-zed_${ZFSPKGVER}_amd64.deb \ zfs-zed_${ZFSPKGVER}_amd64.deb \
zfs-initramfs_${ZFSPKGVER}_all.deb \ zfs-initramfs_${ZFSPKGVER}_all.deb \
zfs-test_${ZFSPKGVER}_amd64.deb \
zfsutils-linux_${ZFSPKGVER}_amd64.deb zfsutils-linux_${ZFSPKGVER}_amd64.deb
DEBS=${SPL_DEBS} ${ZFS_DEBS} ZFS_TRANS_DEBS= \
libnvpair1_${ZFSPKGVER}_all.deb \
libuutil1_${ZFSPKGVER}_all.deb \
libzfs2_${ZFSPKGVER}_all.deb \
libzpool2_${ZFSPKGVER}_all.deb \
zfsutils_${ZFSPKGVER}_all.deb
all: deb DEBS=${SPL_DEBS} ${ZFS_DEBS} ${ZFS_TRANS_DEBS}
deb: ${DEBS}
all: ${DEBS}
.PHONY: dinstall .PHONY: dinstall
dinstall: ${DEBS} dinstall: ${DEBS}
dpkg -i ${DEBS} dpkg -i ${DEBS}
.PHONY: submodule
submodule:
test -f "${ZFSSRC}/debian/changelog" || git submodule update --init
test -f "${SPLSRC}/debian/changelog" || git submodule update --init
.PHONY: spl .PHONY: spl
spl ${SPL_DEBS}: ${SPLSRC} spl ${SPL_DEBS}: ${SPLSRC}
rm -rf ${SPLDIR} rm -rf ${SPLDIR}
mkdir ${SPLDIR} tar xf ${SPLSRC}
cp -a ${SPLSRC}/* ${SPLDIR}/
mv ${SPLDIR}/debian/changelog ${SPLDIR}/debian/changelog.org mv ${SPLDIR}/debian/changelog ${SPLDIR}/debian/changelog.org
cat spl-changelog.Debian ${SPLDIR}/debian/changelog.org > ${SPLDIR}/debian/changelog cat spl-changelog.Debian ${SPLDIR}/debian/changelog.org > ${SPLDIR}/debian/changelog
cd ${SPLDIR}; ln -s ../spl-patches patches cd ${SPLDIR}; ln -s ../spl-patches patches
@@ -57,8 +56,7 @@ spl ${SPL_DEBS}: ${SPLSRC}
.PHONY: zfs .PHONY: zfs
zfs ${ZFS_DEBS} ${ZFS_TRANS_DEBS}: ${ZFSSRC} zfs ${ZFS_DEBS} ${ZFS_TRANS_DEBS}: ${ZFSSRC}
rm -rf ${ZFSDIR} rm -rf ${ZFSDIR}
mkdir ${ZFSDIR} tar xf ${ZFSSRC}
cp -a ${ZFSSRC}/* ${ZFSDIR}/
mv ${ZFSDIR}/debian/changelog ${ZFSDIR}/debian/changelog.org mv ${ZFSDIR}/debian/changelog ${ZFSDIR}/debian/changelog.org
cat zfs-changelog.Debian ${ZFSDIR}/debian/changelog.org > ${ZFSDIR}/debian/changelog cat zfs-changelog.Debian ${ZFSDIR}/debian/changelog.org > ${ZFSDIR}/debian/changelog
cd ${ZFSDIR}; ln -s ../zfs-patches patches cd ${ZFSDIR}; ln -s ../zfs-patches patches
@@ -66,9 +64,19 @@ zfs ${ZFS_DEBS} ${ZFS_TRANS_DEBS}: ${ZFSSRC}
cd ${ZFSDIR}; rm -rf .pc ./patches cd ${ZFSDIR}; rm -rf .pc ./patches
cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
.PHONY: download
download:
rm -rf pkg-spl pkg-zfs ${SPLSRC} ${ZFSSRC}
# clone pkg-zfsonlinux/spl and checkout 0.6.5.9-1
git clone -b debian/0.6.5.9-1 git://anonscm.debian.org/pkg-zfsonlinux/spl.git pkg-spl
# clone pkg-zfsonlinux/zfs and checkout 0.6.5.9-2
git clone -b debian/0.6.5.9-2 git://anonscm.debian.org/pkg-zfsonlinux/zfs.git pkg-zfs
tar czf ${SPLSRC} pkg-spl
tar czf ${ZFSSRC} pkg-zfs
.PHONY: clean .PHONY: clean
clean: clean:
rm -rf *~ *.deb *.changes *.buildinfo ${ZFSDIR} ${SPLDIR} rm -rf *~ *.deb *.changes ${ZFSDIR} ${SPLDIR}
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
@@ -76,4 +84,4 @@ distclean: clean
.PHONY: upload .PHONY: upload
upload: ${DEBS} upload: ${DEBS}
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve --dist stretch --arch amd64 tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve --dist jessie
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
-32
View File
@@ -1,35 +1,3 @@
spl-linux (0.7.4-pve1~bpo9) unstable; urgency=medium
* update SPL to 0.7.4
-- Proxmox Support Team <support@proxmox.com> Tue, 19 Dec 2017 12:52:42 +0100
spl-linux (0.7.3-pve1~bpo9) unstable; urgency=medium
* update spl to 0.7.3
-- Proxmox Support Team <support@proxmox.com> Mon, 6 Nov 2017 09:14:19 +0100
spl-linux (0.7.2-pve1~bpo90) unstable; urgency=medium
* update spl to 0.7.2
* clean up man pages
-- Proxmox Support Team <support@proxmox.com> Thu, 12 Oct 2017 13:33:04 +0200
spl-linux (0.6.5.11-pve10~bpo90) unstable; urgency=medium
* update spl to debian/0.6.5.11-1
-- Proxmox Support Team <support@proxmox.com> Thu, 27 Jul 2017 13:11:45 +0200
spl-linux (0.6.5.9-pve9~bpo90) unstable; urgency=medium
* rebuild for PVE 5.0 / Debian Stretch
-- Proxmox Support Team <support@proxmox.com> Fri, 10 Mar 2017 09:45:52 +0100
spl-linux (0.6.5.9-pve8~bpo80) unstable; urgency=medium spl-linux (0.6.5.9-pve8~bpo80) unstable; urgency=medium
* update spl to debian/0.6.5.9-1 * update spl to debian/0.6.5.9-1
Submodule spl-debian deleted from 9936e726fc
@@ -1,4 +1,4 @@
From 8c0a5dd331d746c5c114dda69f2eb5a4a0ac8eb9 Mon Sep 17 00:00:00 2001 From b750abda7a2b24c52a4fba505571a629223ad64e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com> From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 12 Oct 2016 10:57:39 +0200 Date: Wed, 12 Oct 2016 10:57:39 +0200
Subject: [PATCH] remove DKMS and module build Subject: [PATCH] remove DKMS and module build
@@ -9,12 +9,11 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
--- ---
debian/control.in | 24 -------------------- debian/control.in | 24 --------------------
debian/control | 1 -
debian/rules | 68 +------------------------------------------------------ debian/rules | 68 +------------------------------------------------------
3 files changed, 1 insertion(+), 92 deletions(-) 2 files changed, 1 insertion(+), 91 deletions(-)
diff --git a/debian/control.in b/debian/control.in diff --git a/debian/control.in b/debian/control.in
index 6846796..786e689 100644 index 52c1660..dc6ee96 100644
--- a/debian/control.in --- a/debian/control.in
+++ b/debian/control.in +++ b/debian/control.in
@@ -8,40 +8,16 @@ Build-Depends: autogen, @@ -8,40 +8,16 @@ Build-Depends: autogen,
@@ -23,7 +22,7 @@ index 6846796..786e689 100644
dh-autoreconf, dh-autoreconf,
- dkms (>> 2.2.0.2-1~), - dkms (>> 2.2.0.2-1~),
libtool libtool
Standards-Version: 4.1.2 Standards-Version: 3.9.8
Homepage: http://www.zfsonlinux.org/ Homepage: http://www.zfsonlinux.org/
Vcs-Git: git://anonscm.debian.org/pkg-zfsonlinux/spl.git Vcs-Git: git://anonscm.debian.org/pkg-zfsonlinux/spl.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/spl.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/spl.git
@@ -58,18 +57,6 @@ index 6846796..786e689 100644
Description: Solaris Porting Layer user-space utilities for Linux Description: Solaris Porting Layer user-space utilities for Linux
The Solaris Porting Layer (SPL) is a Linux kernel module which provides The Solaris Porting Layer (SPL) is a Linux kernel module which provides
many of the Solaris kernel APIs. This shim layer makes it possible to many of the Solaris kernel APIs. This shim layer makes it possible to
diff --git a/debian/control b/debian/control
index 6846796..af4b7bb 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,6 @@ Build-Depends: autogen,
autotools-dev,
debhelper (>= 9),
dh-autoreconf,
- dkms (>> 2.2.0.2-1~),
libtool
Standards-Version: 4.1.2
Homepage: http://www.zfsonlinux.org/
diff --git a/debian/rules b/debian/rules diff --git a/debian/rules b/debian/rules
index b2fc86c..a474ca4 100755 index b2fc86c..a474ca4 100755
--- a/debian/rules --- a/debian/rules
@@ -159,5 +146,5 @@ index b2fc86c..a474ca4 100755
- -
- dh_builddeb -p${pmodules} - dh_builddeb -p${pmodules}
-- --
2.14.2 2.1.4
+1 -1
View File
@@ -1 +1 @@
0001-remove-DKMS-and-module-build.patch fix-control.patch
-58
View File
@@ -1,61 +1,3 @@
zfs-linux (0.7.4-pve2~bpo9) unstable; urgency=medium
* cherry-pick ARC hit rate fix from 0.7.6
* always load ZFS modules on boot
-- Proxmox Support Team <support@proxmox.com> Fri, 19 Jan 2018 11:31:14 +0100
zfs-linux (0.7.4-pve1~bpo9) unstable; urgency=medium
* update ZFS to 0.7.4
-- Proxmox Support Team <support@proxmox.com> Tue, 19 Dec 2017 12:52:42 +0100
zfs-linux (0.7.3-pve1~bpo9) unstable; urgency=medium
* update ZFS to 0.7.3
* include fix for user namespace setgid issue (#6800 upstream)
-- Proxmox Support Team <support@proxmox.com> Mon, 6 Nov 2017 09:14:19 +0100
zfs-linux (0.7.2-pve1~bpo90) unstable; urgency=medium
* update zfs to 0.7.2
* add PR 6616 - zfs send/recv compatibility with 0.6.5
* add PR 6695 - zfs recv: don't skip over objects which should be freed
* various small fixes
* split test suite into zfs-test package
-- Proxmox Support Team <support@proxmox.com> Thu, 12 Oct 2017 13:34:05 +0200
zfs-linux (0.6.5.11-pve18~bpo90) unstable; urgency=medium
* fix #1509: arc_summary error with L2ARC
-- Proxmox Support Team <support@proxmox.com> Mon, 2 Oct 2017 09:30:41 +0200
zfs-linux (0.6.5.11-pve17~bpo90) unstable; urgency=medium
* update zfs to debian/0.6.5.11-1
-- Proxmox Support Team <support@proxmox.com> Thu, 27 Jul 2017 13:11:45 +0200
zfs-linux (0.6.5.9-pve16~bpo90) unstable; urgency=medium
* drop transitional packages
* convert python scripts to python 3, drop .py suffix
* rebuild for PVE 5.0 / Debian Stretch
-- Proxmox Support Team <support@proxmox.com> Fri, 10 Mar 2017 09:45:52 +0100
zfs-linux (0.6.5.9-pve15~bpo80) unstable; urgency=medium zfs-linux (0.6.5.9-pve15~bpo80) unstable; urgency=medium
* update zfs to debian/0.6.5.9-1 * update zfs to debian/0.6.5.9-1
Submodule zfs-debian deleted from 20828cd18b
@@ -0,0 +1,174 @@
From b8f3b081a866fc3d529fb2e72c425ef54c4d141d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 11 Jan 2017 09:16:11 +0100
Subject: [PATCH 1/6] Undo python changes until PVE 5.0 release
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Revert "Remove .py extension from utilities in /usr/sbin as per policy 10.4 Scripts (LP: #1628279)"
This reverts commit e1c956cc55451476c465aad351c4b9c92294fc36.
Revert "Use python3 for arcstat.py, arc_summary.py & dbufstat.py (LP: #1627909)"
This reverts commit a52a9356809b8a09b97957a238a36da82ce9f850.
Revert "Add missing part in python3 move"
This reverts commit 9173586640d4a9f64f87a70bb9f93e41c78009fc.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
debian/control.in | 4 ++--
debian/patches/1001-cmd-python-exec-path.patch | 30 --------------------------
debian/control | 4 ++--
debian/patches/series | 1 -
debian/rules | 11 ++++------
debian/zfsutils-linux.install | 6 +++---
6 files changed, 11 insertions(+), 45 deletions(-)
delete mode 100644 debian/patches/1001-cmd-python-exec-path.patch
diff --git a/debian/control.in b/debian/control.in
index 76907e4..db75496 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -16,7 +16,7 @@ Build-Depends: dh-autoreconf,
po-debconf,
uuid-dev,
zlib1g-dev,
- python3,
+ python,
dh-python,
libblkid-dev,
libattr1-dev
@@ -127,7 +127,7 @@ Description: OpenZFS root filesystem capabilities for Linux - dracut
Package: zfsutils-linux
Section: contrib/admin
Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}, python3
+Depends: ${misc:Depends}, ${shlibs:Depends}, ${python:Depends}
Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
Conflicts: zfs, zfs-fuse, zutils
diff --git a/debian/patches/1001-cmd-python-exec-path.patch b/debian/patches/1001-cmd-python-exec-path.patch
deleted file mode 100644
index a05afb4..0000000
--- a/debian/patches/1001-cmd-python-exec-path.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: zfs-linux-0.6.5.8/cmd/arc_summary/arc_summary.py
-===================================================================
---- zfs-linux-0.6.5.8.orig/cmd/arc_summary/arc_summary.py
-+++ zfs-linux-0.6.5.8/cmd/arc_summary/arc_summary.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- #
- # $Id: arc_summary.pl,v 388:e27800740aa2 2011-07-08 02:53:29Z jhell $
- #
-Index: zfs-linux-0.6.5.8/cmd/arcstat/arcstat.py
-===================================================================
---- zfs-linux-0.6.5.8.orig/cmd/arcstat/arcstat.py
-+++ zfs-linux-0.6.5.8/cmd/arcstat/arcstat.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- #
- # Print out ZFS ARC Statistics exported via kstat(1)
- # For a definition of fields, or usage, use arctstat.pl -v
-Index: zfs-linux-0.6.5.8/cmd/dbufstat/dbufstat.py
-===================================================================
---- zfs-linux-0.6.5.8.orig/cmd/dbufstat/dbufstat.py
-+++ zfs-linux-0.6.5.8/cmd/dbufstat/dbufstat.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- #
- # Print out statistics for all cached dmu buffers. This information
- # is available through the dbufs kstat and may be post-processed as
diff --git a/debian/control b/debian/control
index 76907e4..db75496 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Build-Depends: dh-autoreconf,
po-debconf,
uuid-dev,
zlib1g-dev,
- python3,
+ python,
dh-python,
libblkid-dev,
libattr1-dev
@@ -127,7 +127,7 @@ Description: OpenZFS root filesystem capabilities for Linux - dracut
Package: zfsutils-linux
Section: contrib/admin
Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}, python3
+Depends: ${misc:Depends}, ${shlibs:Depends}, ${python:Depends}
Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
Conflicts: zfs, zfs-fuse, zutils
diff --git a/debian/patches/series b/debian/patches/series
index df85d5b..0fed690 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,7 +4,6 @@
1000-ppc64el-endian-support.patch
1002-fix-mips-build.patch
enable-zed.patch
-1001-cmd-python-exec-path.patch
1004-zed-service-bindir.patch
1002-Fix-dev-zfs-device-is-missing.patch
0001-fix-booting-via-dracut-generated-initramfs.patch
diff --git a/debian/rules b/debian/rules
index 9efbace..70e57e5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -35,7 +35,7 @@ pmodules = $(PACKAGE)-modules-$(non_epoch_version)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
- dh $@ --with autoreconf,dkms,python3,systemd --parallel
+ dh $@ --with autoreconf,dkms,python2,systemd --parallel
override_dh_auto_configure:
@cp debian/control.in debian/control
@@ -64,14 +64,11 @@ override_dh_auto_install:
@# Install the utilities.
$(MAKE) install DESTDIR='$(CURDIR)/debian/tmp'
-
# Move from bin_dir to /usr/sbin
- # Remove suffix (.py) as per policy 10.4 - Scripts
- # https://www.debian.org/doc/debian-policy/ch-files.html#s-scripts
mkdir -p '$(CURDIR)/debian/tmp/usr/sbin/'
- mv '$(CURDIR)/debian/tmp/usr/bin/arc_summary.py' '$(CURDIR)/debian/tmp/usr/sbin/arc_summary'
- mv '$(CURDIR)/debian/tmp/usr/bin/arcstat.py' '$(CURDIR)/debian/tmp/usr/sbin/arcstat'
- mv '$(CURDIR)/debian/tmp/usr/bin/dbufstat.py' '$(CURDIR)/debian/tmp/usr/sbin/dbufstat'
+ mv '$(CURDIR)/debian/tmp/usr/bin/arc_summary.py' '$(CURDIR)/debian/tmp/usr/sbin/arc_summary.py'
+ mv '$(CURDIR)/debian/tmp/usr/bin/arcstat.py' '$(CURDIR)/debian/tmp/usr/sbin/arcstat.py'
+ mv '$(CURDIR)/debian/tmp/usr/bin/dbufstat.py' '$(CURDIR)/debian/tmp/usr/sbin/dbufstat.py'
@# Zed has dependencies outside of the system root.
$(INSTALL) -d '$(CURDIR)/debian/tmp/usr/sbin/'
diff --git a/debian/zfsutils-linux.install b/debian/zfsutils-linux.install
index 947ffd9..4badbf1 100644
--- a/debian/zfsutils-linux.install
+++ b/debian/zfsutils-linux.install
@@ -19,9 +19,9 @@ sbin/zdb
sbin/zpios
sbin/zpool
sbin/zfs
-usr/sbin/arc_summary
-usr/sbin/arcstat
-usr/sbin/dbufstat
+usr/sbin/arc_summary.py
+usr/sbin/arcstat.py
+usr/sbin/dbufstat.py
usr/share/zfs/
usr/share/man/man1/
usr/share/man/man5/
--
2.1.4
@@ -1,38 +1,36 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0e7871b8878f78fd2c8c73a50cbf805b39afb4e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com> From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Mon, 6 Feb 2017 11:03:10 +0100 Date: Mon, 6 Feb 2017 11:03:10 +0100
Subject: [PATCH] remove DKMS, modules and dracut build Subject: [PATCH 2/6] remove DKMS, modules and dracut build
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
--- ---
debian/control.in | 36 +++--------------- debian/control.in | 34 +++---------------
debian/control | 1 - debian/rules | 105 ++----------------------------------------------------
debian/not-installed | 1 + 2 files changed, 6 insertions(+), 133 deletions(-)
debian/rules | 105 +--------------------------------------------------
4 files changed, 8 insertions(+), 135 deletions(-)
diff --git a/debian/control.in b/debian/control.in diff --git a/debian/control.in b/debian/control.in
index 771fc3a80..edfed470f 100644 index db75496..22dd958 100644
--- a/debian/control.in --- a/debian/control.in
+++ b/debian/control.in +++ b/debian/control.in
@@ -8,7 +8,6 @@ Uploaders: Aron Xu <aron@debian.org>, @@ -9,7 +9,6 @@ Build-Depends: dh-autoreconf,
Build-Depends: dh-autoreconf, dh-systemd,
autotools-dev, autotools-dev,
debhelper (>= 10.2), debhelper (>= 9),
- dkms (>> 2.1.1.2-5), - dkms (>> 2.1.1.2-5),
libselinux1-dev, libselinux1-dev,
libtool, libtool,
lsb-release, lsb-release,
@@ -84,25 +83,11 @@ Description: OpenZFS pool library for Linux @@ -85,25 +84,11 @@ Description: OpenZFS pool library for Linux
. .
This zpool library provides support for managing zpools. This zpool library provides support for managing zpools.
-Package: zfs-dkms -Package: zfs-dkms
-Architecture: all -Architecture: all
-Pre-Depends: spl-dkms (>= ${source:Upstream-Version}), spl-dkms (<<${source:Upstream-Version}.) -Pre-Depends: spl-dkms (>= ${source:Upstream-Version})
-Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends} -Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}
-Recommends: zfsutils-linux, zfs-zed -Recommends: zfsutils-linux, zfs-zed
-Provides: zfs-modules -Provides: zfs-modules
@@ -53,7 +51,7 @@ index 771fc3a80..edfed470f 100644
${misc:Depends} ${misc:Depends}
Description: OpenZFS root filesystem capabilities for Linux - initramfs Description: OpenZFS root filesystem capabilities for Linux - initramfs
The Z file system is a pooled filesystem designed for maximum data The Z file system is a pooled filesystem designed for maximum data
@@ -112,23 +97,12 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs @@ -113,23 +98,12 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
This package adds OpenZFS to the system initramfs with a hook This package adds OpenZFS to the system initramfs with a hook
for the initramfs-tools infrastructure. for the initramfs-tools infrastructure.
@@ -71,7 +69,7 @@ index 771fc3a80..edfed470f 100644
Package: zfsutils-linux Package: zfsutils-linux
Section: contrib/admin Section: contrib/admin
Architecture: linux-any Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}, python3 Depends: ${misc:Depends}, ${shlibs:Depends}, ${python:Depends}
-Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed -Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
-Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut -Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
+Recommends: lsb-base, zfs-zed +Recommends: lsb-base, zfs-zed
@@ -79,7 +77,7 @@ index 771fc3a80..edfed470f 100644
Conflicts: zfs, zfs-fuse, zutils Conflicts: zfs, zfs-fuse, zutils
Provides: zfsutils Provides: zfsutils
Description: command-line tools to manage OpenZFS filesystems Description: command-line tools to manage OpenZFS filesystems
@@ -142,7 +116,7 @@ Description: command-line tools to manage OpenZFS filesystems @@ -143,7 +117,7 @@ Description: command-line tools to manage OpenZFS filesystems
Package: zfs-zed Package: zfs-zed
Section: contrib/admin Section: contrib/admin
Architecture: linux-any Architecture: linux-any
@@ -88,43 +86,13 @@ index 771fc3a80..edfed470f 100644
Description: OpenZFS Event Daemon Description: OpenZFS Event Daemon
The Z file system is a pooled filesystem designed for maximum data The Z file system is a pooled filesystem designed for maximum data
integrity, supporting data snapshots, multiple copies, and data integrity, supporting data snapshots, multiple copies, and data
@@ -153,7 +127,7 @@ Description: OpenZFS Event Daemon
Package: zfs-test
Section: contrib/admin
Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux, parted, lsscsi, mdadm, bc, ksh, fio, acl, sudo, sysstat, python
+Depends: ${misc:Depends}, ${shlibs:Depends}, zfsutils-linux, parted, lsscsi, mdadm, bc, ksh, fio, acl, sudo, sysstat, python
Breaks: zfsutils-linux (<= 0.6.5.11-1)
Replaces: zfsutils-linux (<= 0.6.5.11-1)
Description: OpenZFS test infrastructure an support scripts
diff --git a/debian/control b/debian/control
index 771fc3a80..be0b90337 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,6 @@ Uploaders: Aron Xu <aron@debian.org>,
Build-Depends: dh-autoreconf,
autotools-dev,
debhelper (>= 10.2),
- dkms (>> 2.1.1.2-5),
libselinux1-dev,
libtool,
lsb-release,
diff --git a/debian/not-installed b/debian/not-installed
index f54fe7310..16b1cef6c 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -5,3 +5,4 @@ etc/zfs/vdev_id.conf.alias.example
etc/zfs/vdev_id.conf.multipath.example
etc/zfs/vdev_id.conf.sas_direct.example
etc/zfs/vdev_id.conf.sas_switch.example
+usr/lib/dracut
diff --git a/debian/rules b/debian/rules diff --git a/debian/rules b/debian/rules
index f445b58c5..d71926b33 100755 index 70e57e5..0c8a6a2 100755
--- a/debian/rules --- a/debian/rules
+++ b/debian/rules +++ b/debian/rules
@@ -5,9 +5,6 @@ include /usr/share/dpkg/default.mk @@ -5,9 +5,6 @@ NAME := $(shell awk '$$1 == "Name:" { print $$2; }' META)
LSB_DISTRIBUTOR := $(shell lsb_release -is) VERSION := $(shell dpkg-parsechangelog \
NAME := $(shell awk '$$1 == "Name:" { print $$2; }' META) | awk '$$1 == "Version:" { print $$2; }' | cut -d- -f1)
-DKMSFILES := module include config zfs.release.in autogen.sh META AUTHORS \ -DKMSFILES := module include config zfs.release.in autogen.sh META AUTHORS \
- DISCLAIMER COPYRIGHT OPENSOLARIS.LICENSE README.markdown - DISCLAIMER COPYRIGHT OPENSOLARIS.LICENSE README.markdown
@@ -132,16 +100,16 @@ index f445b58c5..d71926b33 100755
ifndef BUILD_UDEB ifndef BUILD_UDEB
BUILD_UDEB=false BUILD_UDEB=false
endif endif
@@ -17,21 +14,16 @@ KVERS=$(shell uname -r) @@ -21,21 +18,16 @@ KVERS=$(shell uname -r)
endif endif
ifndef SPL ifndef SPL
-SPL=/usr/src/spl-$(DEB_VERSION_UPSTREAM) -SPL=/usr/src/spl-$(VERSION)
-endif -endif
- -
-ifndef SPLOBJ -ifndef SPLOBJ
-SPLOBJ=/var/lib/dkms/spl/$(DEB_VERSION_UPSTREAM)/$(KVERS)/$(DEB_TARGET_GNU_CPU) -SPLOBJ=/var/lib/dkms/spl/$(VERSION)/$(KVERS)/$(shell dpkg-architecture -qDEB_TARGET_GNU_CPU)
+SPL=../spl-build +SPL=../pkg-spl
endif endif
non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://') non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
@@ -151,59 +119,59 @@ index f445b58c5..d71926b33 100755
export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%: %:
- dh $@ --with autoreconf,dkms,python3,systemd --parallel - dh $@ --with autoreconf,dkms,python2,systemd --parallel
+ dh $@ --with autoreconf,python3,systemd --parallel + dh $@ --with autoreconf,python2,systemd --parallel
override_dh_auto_configure: override_dh_auto_configure:
@cp debian/control.in debian/control @cp debian/control.in debian/control
@@ -73,36 +65,6 @@ override_dh_auto_install: @@ -74,36 +66,6 @@ override_dh_auto_install:
$(INSTALL) -d '$(CURDIR)/debian/tmp/usr/sbin/' $(INSTALL) -d '$(CURDIR)/debian/tmp/usr/sbin/'
mv '$(CURDIR)/debian/tmp/sbin/zed' '$(CURDIR)/debian/tmp/usr/sbin/zed' mv '$(CURDIR)/debian/tmp/sbin/zed' '$(CURDIR)/debian/tmp/usr/sbin/zed'
- @# Get a bare copy of the source code for DKMS. - @# Get a bare copy of the source code for DKMS.
- @# This creates the $(CURDIR)/$(NAME)-$(DEB_VERSION_UPSTREAM)/ tree, which does not - @# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree, which does not
- @# contain the userland sources. NB: Remove-userland-dist-rules.patch - @# contain the userland sources. NB: Remove-userland-dist-rules.patch
- $(MAKE) distdir - $(MAKE) distdir
- -
- @# Install the DKMS source. - @# Install the DKMS source.
- @# We only want the files needed to build the modules - @# We only want the files needed to build the modules
- mkdir -p '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)' - mkdir -p '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'
- $(foreach file,$(DKMSFILES),mv '$(CURDIR)/$(NAME)-$(DEB_VERSION_UPSTREAM)/$(file)' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)' || exit 1;) - $(foreach file,$(DKMSFILES),mv '$(CURDIR)/$(NAME)-$(VERSION)/$(file)' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' || exit 1;)
- @# Hellish awk line: - @# Hellish awk line:
- @# * Deletes from configure.ac the parts not needed for building the kernel module - @# * Deletes from configure.ac the parts not needed for building the kernel module
- @# * It deletes from inside AC_CONFIG_FILES([]) everything except: - @# * It deletes from inside AC_CONFIG_FILES([]) everything except:
- @# (Makefile$|include/|module/|*.release$) - @# (Makefile$|include/|module/|*.release$)
- @# * Takes care of spaces and tabs - @# * Takes care of spaces and tabs
- awk '/^AC_CONFIG_FILES\(\[/,/^\]\)/ { if ($$0 !~ /^(AC_CONFIG_FILES\(\[([ \t]+)?$$|\]\)([ \t]+)?$$|([ \t]+)?(include\/|module\/|Makefile([ \t]+)?$$|zfs\.release([ \t]+)?$$))/){next} } {print}' \ - awk '/^AC_CONFIG_FILES\(\[/,/^\]\)/ { if ($$0 !~ /^(AC_CONFIG_FILES\(\[([ \t]+)?$$|\]\)([ \t]+)?$$|([ \t]+)?(include\/|module\/|Makefile([ \t]+)?$$|zfs\.release([ \t]+)?$$))/){next} } {print}' \
- '$(CURDIR)/$(NAME)-$(DEB_VERSION_UPSTREAM)/configure.ac' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)/configure.ac' - '$(CURDIR)/$(NAME)-$(VERSION)/configure.ac' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/configure.ac'
- @# Set "SUBDIRS = module include" for CONFIG_KERNEL and remove SUBDIRS for all other configs. - @# Set "SUBDIRS = module include" for CONFIG_KERNEL and remove SUBDIRS for all other configs.
- sed '1,/CONFIG_KERNEL/s/SUBDIRS.*=.*//g;s/SUBDIRS.*=.*/SUBDIRS = module include/g;' \ - sed '1,/CONFIG_KERNEL/s/SUBDIRS.*=.*//g;s/SUBDIRS.*=.*/SUBDIRS = module include/g;' \
- '$(CURDIR)/$(NAME)-$(DEB_VERSION_UPSTREAM)/Makefile.am' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)/Makefile.am' - '$(CURDIR)/$(NAME)-$(VERSION)/Makefile.am' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am'
- @# Sanity test - @# Sanity test
- grep -q 'SUBDIRS = module include' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)/Makefile.am' - grep -q 'SUBDIRS = module include' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am'
- @# Run autogen on the stripped source tree - @# Run autogen on the stripped source tree
- cd '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)'; ./autogen.sh - cd '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'; ./autogen.sh
- rm -fr '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)/autom4te.cache' - rm -fr '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/autom4te.cache'
- -
- @# This shunt allows DKMS to install the Module.symvers and zfs_config.h - @# This shunt allows DKMS to install the Module.symvers and zfs_config.h
- @# files to the ${dkms_tree} area through the POST_INSTALL directive. - @# files to the ${dkms_tree} area through the POST_INSTALL directive.
- printf '#!/bin/sh\ncp "$$@"\n' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)/cp' - printf '#!/bin/sh\ncp "$$@"\n' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(DEB_VERSION_UPSTREAM)/cp' - chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- -
mkdir -p $(CURDIR)/debian/tmp/usr/lib mkdir -p $(CURDIR)/debian/tmp/usr/lib
for i in `ls $(CURDIR)/debian/tmp/lib/*.so`; do \ for i in `ls $(CURDIR)/debian/tmp/lib/*.so`; do \
ln -s /lib/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/`basename $${i}`; \ ln -s /lib/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/`basename $${i}`; \
@@ -112,9 +74,6 @@ override_dh_auto_install: @@ -113,9 +75,6 @@ override_dh_auto_install:
chmod a-x $(CURDIR)/debian/tmp/etc/zfs/zfs-functions chmod a-x $(CURDIR)/debian/tmp/etc/zfs/zfs-functions
chmod a-x $(CURDIR)/debian/tmp/etc/default/zfs chmod a-x $(CURDIR)/debian/tmp/etc/default/zfs
-override_dh_dkms: -override_dh_dkms:
- dh_dkms -V $(DEB_VERSION_UPSTREAM) - dh_dkms -V $(VERSION)
- -
override_dh_makeshlibs: override_dh_makeshlibs:
dh_makeshlibs -a -V dh_makeshlibs -a
ifeq ($(BUILD_UDEB), true) ifeq ($(BUILD_UDEB), true)
@@ -152,65 +111,5 @@ override_dh_install: @@ -153,65 +112,5 @@ override_dh_install:
# ------------ # ------------
@@ -270,5 +238,5 @@ index f445b58c5..d71926b33 100755
debian-copyright: debian-copyright:
cme update dpkg-copyright -file debian/copyright.cme cme update dpkg-copyright -file debian/copyright.cme
-- --
2.14.2 2.1.4
@@ -1,67 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
Date: Tue, 31 Oct 2017 09:08:42 +0100
Subject: [PATCH] Use user namespaces for FSETID policy check.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
With this we also need to verify the group id of a file with
the setgid flag has a valid mapping in the current
namespace.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
module/zfs/policy.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/module/zfs/policy.c b/module/zfs/policy.c
index 03e8f748b..dbbcfefa3 100644
--- a/module/zfs/policy.c
+++ b/module/zfs/policy.c
@@ -42,19 +42,26 @@
* all other cases this function must fail and return the passed err.
*/
static int
-priv_policy(const cred_t *cr, int capability, boolean_t all, int err)
+priv_policy_ns(const cred_t *cr, int capability, boolean_t all, int err,
+ struct user_namespace *ns)
{
ASSERT3S(all, ==, B_FALSE);
if (cr != CRED() && (cr != kcred))
return (err);
- if (!capable(capability))
+ if (!(ns ? ns_capable(ns, capability) : capable(capability)))
return (err);
return (0);
}
+static int
+priv_policy(const cred_t *cr, int capability, boolean_t all, int err)
+{
+ return priv_policy_ns(cr, capability, all, err, NULL);
+}
+
/*
* Checks for operations that are either client-only or are used by
* both clients and servers.
@@ -175,8 +182,11 @@ secpolicy_vnode_setid_retain(const cred_t *cr, boolean_t issuidroot)
int
secpolicy_vnode_setids_setgids(const cred_t *cr, gid_t gid)
{
+ if (!kgid_has_mapping(cr->user_ns, SGID_TO_KGID(gid)))
+ return (EPERM);
if (crgetfsgid(cr) != gid && !groupmember(gid, cr))
- return (priv_policy(cr, CAP_FSETID, B_FALSE, EPERM));
+ return (priv_policy_ns(cr, CAP_FSETID, B_FALSE, EPERM,
+ cr->user_ns));
return (0);
}
--
2.14.2
@@ -0,0 +1,68 @@
From 7e46d0f379706d74d5dc05ff20e58e708a1005a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 12 Oct 2016 11:32:17 +0200
Subject: [PATCH 3/6] add zfsutils.preinst/postinst for wheezy upgrade path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
debian/zfsutils-linux.postinst | 20 ++++++++++++++++++++
debian/zfsutils-linux.preinst | 17 +++++++++++++++++
2 files changed, 37 insertions(+)
create mode 100755 debian/zfsutils-linux.postinst
create mode 100755 debian/zfsutils-linux.preinst
diff --git a/debian/zfsutils-linux.postinst b/debian/zfsutils-linux.postinst
new file mode 100755
index 0000000..7d57919
--- /dev/null
+++ b/debian/zfsutils-linux.postinst
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+
+# Source debconf library
+. /usr/share/debconf/confmodule
+
+if dpkg-maintscript-helper supports rm_conffile 2>/dev/null
+then
+ dpkg-maintscript-helper rm_conffile /etc/default/zfsload -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-mount -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-share -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-import -- "$@"
+fi
+
+#DEBHELPER#
+
diff --git a/debian/zfsutils-linux.preinst b/debian/zfsutils-linux.preinst
new file mode 100755
index 0000000..9338a7c
--- /dev/null
+++ b/debian/zfsutils-linux.preinst
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+if dpkg-maintscript-helper supports rm_conffile 2>/dev/null
+then
+ dpkg-maintscript-helper rm_conffile /etc/default/zfsload -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-zed -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-mount -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-share -- "$@"
+ dpkg-maintscript-helper rm_conffile /etc/init.d/zfs-import -- "$@"
+fi
+
+#DEBHELPER#
+
--
2.1.4
@@ -1,33 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Antonio Russo <antonio.e.russo@gmail.com>
Date: Mon, 18 Dec 2017 12:43:55 -0500
Subject: [PATCH] Enable zfs-import.target in systemd preset (#6968)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cherry picked line from PR #6822, this enables the new
target introduced in PR #6764.
Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
(cherry picked from commit da16fc5739b1962b3d357246938d2df06d6a1075)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
etc/systemd/system/50-zfs.preset.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/etc/systemd/system/50-zfs.preset.in b/etc/systemd/system/50-zfs.preset.in
index 4d82778e3..884a69b5b 100644
--- a/etc/systemd/system/50-zfs.preset.in
+++ b/etc/systemd/system/50-zfs.preset.in
@@ -1,6 +1,7 @@
# ZFS is enabled by default
enable zfs-import-cache.service
disable zfs-import-scan.service
+enable zfs-import.target
enable zfs-mount.service
enable zfs-share.service
enable zfs-zed.service
--
2.14.2
@@ -0,0 +1,141 @@
From 97a0ced45e12cd4cca627392f2d9eea6963ee00e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 12 Oct 2016 13:16:03 +0200
Subject: [PATCH 4/6] ensure upgrade path from existing PVE ZFS packages
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
debian/control.in | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)
diff --git a/debian/control.in b/debian/control.in
index 22dd958..2bee2bf 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -28,6 +28,8 @@ Package: libnvpair1linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libnvpair1 (<< 0.6.5.8-pve11~bpo80)
+Breaks: libnvpair1 (<< 0.6.5.8-pve11~bpo80)
Description: Solaris name-value library for Linux
This library provides routines for packing and unpacking nv pairs for
transporting data across process boundaries, transporting between
@@ -37,6 +39,8 @@ Package: libuutil1linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libuutil1 (<< 0.6.5.8-pve11~bpo80)
+Breaks: libuutil1 (<< 0.6.5.8-pve11~bpo80)
Description: Solaris userland utility library for Linux
This library provides a variety of glue functions for ZFS on Linux:
* libspl: The Solaris Porting Layer userland library, which provides APIs
@@ -54,6 +58,8 @@ Architecture: linux-any
Depends: libzfs2linux (= ${binary:Version}), libzpool2linux (= ${binary:Version}),
libnvpair1linux (= ${binary:Version}), libuutil1linux (= ${binary:Version}),
${misc:Depends}
+Replaces: libzfs-dev (<< 0.6.5.8-pve11~bpo80)
+Breaks: libzfs-dev (<< 0.6.5.8-pve11~bpo80)
Provides: libnvpair-dev, libuutil-dev
Description: OpenZFS filesystem development files for Linux
Header files and static libraries for compiling software against
@@ -66,6 +72,8 @@ Package: libzfs2linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libzfs2 (<< 0.6.5.8-pve11~bpo80)
+Breaks: libzfs2 (<< 0.6.5.8-pve11~bpo80)
Description: OpenZFS filesystem library for Linux
The Z file system is a pooled filesystem designed for maximum data
integrity, supporting data snapshots, multiple copies, and data
@@ -77,6 +85,8 @@ Package: libzpool2linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libzpool2 (<< 0.6.5.8-pve11~bpo80)
+Breaks: libzpool2 (<< 0.6.5.8-pve11~bpo80)
Description: OpenZFS pool library for Linux
The Z file system is a pooled filesystem designed for maximum data
integrity, supporting data snapshots, multiple copies, and data
@@ -88,8 +98,10 @@ Package: zfs-initramfs
Architecture: all
Depends: initramfs-tools,
busybox-initramfs | busybox-static | busybox,
- zfsutils-linux,
+ zfsutils-linux (>= 0.6.5.8-pve11~bpo80),
${misc:Depends}
+Breaks: zfs-initramfs (<< 0.6.5.8-pve11~bpo80)
+Replaces: zfs-initramfs (<< 0.6.5.8-pve11~bpo80)
Description: OpenZFS root filesystem capabilities for Linux - initramfs
The Z file system is a pooled filesystem designed for maximum data
integrity, supporting data snapshots, multiple copies, and data
@@ -104,7 +116,9 @@ Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}, ${python:Depends}
Recommends: lsb-base, zfs-zed
Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs
+Replaces: zfsutils (<< 0.6.5.8-pve11~bpo80)
Conflicts: zfs, zfs-fuse, zutils
+Breaks: zfsutils (<< 0.6.5.8-pve11~bpo80)
Provides: zfsutils
Description: command-line tools to manage OpenZFS filesystems
The Z file system is a pooled filesystem designed for maximum data
@@ -118,6 +132,7 @@ Package: zfs-zed
Section: contrib/admin
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}, zfsutils-linux
+Replaces: zfsutils (<< 0.6.5.8-pve11~bpo80)
Description: OpenZFS Event Daemon
The Z file system is a pooled filesystem designed for maximum data
integrity, supporting data snapshots, multiple copies, and data
@@ -142,3 +157,45 @@ Description: Debugging symbols for OpenZFS userland libraries and tools
.
This package contains the debugging symbols for libzpool2linux, libzfs2linux,
libnvpair1linux, libuutil1linux, zfs-zed and zfsutils-linux.
+
+# Transitional packages
+
+Package: libzfs2
+Depends: libzfs2linux, ${misc:Depends}
+Architecture: all
+Priority: extra
+Section: oldlibs
+Description: transitional package
+ This is a transitional package. It can safely be removed.
+
+Package: libzpool2
+Depends: libzpool2linux, ${misc:Depends}
+Architecture: all
+Priority: extra
+Section: oldlibs
+Description: transitional package
+ This is a transitional package. It can safely be removed.
+
+Package: libnvpair1
+Depends: libnvpair1linux, ${misc:Depends}
+Architecture: all
+Priority: extra
+Section: oldlibs
+Description: transitional package
+ This is a transitional package. It can safely be removed.
+
+Package: libuutil1
+Depends: libuutil1linux, ${misc:Depends}
+Architecture: all
+Priority: extra
+Section: oldlibs
+Description: transitional package
+ This is a transitional package. It can safely be removed.
+
+Package: zfsutils
+Depends: zfsutils-linux, ${misc:Depends}
+Architecture: all
+Priority: extra
+Section: oldlibs
+Description: transitional package
+ This is a transitional package. It can safely be removed.
--
2.1.4
-151
View File
@@ -1,151 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Brian Behlendorf <behlendorf1@llnl.gov>
Date: Mon, 8 Jan 2018 09:52:36 -0800
Subject: [PATCH] Fix ARC hit rate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When the compressed ARC feature was added in commit d3c2ae1
the method of reference counting in the ARC was modified. As
part of this accounting change the arc_buf_add_ref() function
was removed entirely.
This would have be fine but the arc_buf_add_ref() function
served a second undocumented purpose of updating the ARC access
information when taking a hold on a dbuf. Without this logic
in place a cached dbuf would not migrate its associated
arc_buf_hdr_t to the MFU list. This would negatively impact
the ARC hit rate, particularly on systems with a small ARC.
This change reinstates the missing call to arc_access() from
dbuf_hold() by implementing a new arc_buf_access() function.
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Tim Chase <tim@chase2k.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #6171
Closes #6852
Closes #6989
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
include/sys/arc.h | 1 +
module/zfs/arc.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
module/zfs/dbuf.c | 4 +++-
3 files changed, 56 insertions(+), 3 deletions(-)
diff --git a/include/sys/arc.h b/include/sys/arc.h
index 66f37cf71..1ea4937bd 100644
--- a/include/sys/arc.h
+++ b/include/sys/arc.h
@@ -221,6 +221,7 @@ void arc_buf_destroy(arc_buf_t *buf, void *tag);
void arc_buf_info(arc_buf_t *buf, arc_buf_info_t *abi, int state_index);
uint64_t arc_buf_size(arc_buf_t *buf);
uint64_t arc_buf_lsize(arc_buf_t *buf);
+void arc_buf_access(arc_buf_t *buf);
void arc_release(arc_buf_t *buf, void *tag);
int arc_released(arc_buf_t *buf);
void arc_buf_sigsegv(int sig, siginfo_t *si, void *unused);
diff --git a/module/zfs/arc.c b/module/zfs/arc.c
index 2b0a78d4b..264e67735 100644
--- a/module/zfs/arc.c
+++ b/module/zfs/arc.c
@@ -429,9 +429,14 @@ typedef struct arc_stats {
* by multiple buffers.
*/
kstat_named_t arcstat_mutex_miss;
+ /*
+ * Number of buffers skipped when updating the access state due to the
+ * header having already been released after acquiring the hash lock.
+ */
+ kstat_named_t arcstat_access_skip;
/*
* Number of buffers skipped because they have I/O in progress, are
- * indrect prefetch buffers that have not lived long enough, or are
+ * indirect prefetch buffers that have not lived long enough, or are
* not from the spa we're trying to evict from.
*/
kstat_named_t arcstat_evict_skip;
@@ -667,6 +672,7 @@ static arc_stats_t arc_stats = {
{ "mfu_ghost_hits", KSTAT_DATA_UINT64 },
{ "deleted", KSTAT_DATA_UINT64 },
{ "mutex_miss", KSTAT_DATA_UINT64 },
+ { "access_skip", KSTAT_DATA_UINT64 },
{ "evict_skip", KSTAT_DATA_UINT64 },
{ "evict_not_enough", KSTAT_DATA_UINT64 },
{ "evict_l2_cached", KSTAT_DATA_UINT64 },
@@ -4926,7 +4932,51 @@ arc_access(arc_buf_hdr_t *hdr, kmutex_t *hash_lock)
}
}
-/* a generic arc_done_func_t which you can use */
+/*
+ * This routine is called by dbuf_hold() to update the arc_access() state
+ * which otherwise would be skipped for entries in the dbuf cache.
+ */
+void
+arc_buf_access(arc_buf_t *buf)
+{
+ mutex_enter(&buf->b_evict_lock);
+ arc_buf_hdr_t *hdr = buf->b_hdr;
+
+ /*
+ * Avoid taking the hash_lock when possible as an optimization.
+ * The header must be checked again under the hash_lock in order
+ * to handle the case where it is concurrently being released.
+ */
+ if (hdr->b_l1hdr.b_state == arc_anon || HDR_EMPTY(hdr)) {
+ mutex_exit(&buf->b_evict_lock);
+ return;
+ }
+
+ kmutex_t *hash_lock = HDR_LOCK(hdr);
+ mutex_enter(hash_lock);
+
+ if (hdr->b_l1hdr.b_state == arc_anon || HDR_EMPTY(hdr)) {
+ mutex_exit(hash_lock);
+ mutex_exit(&buf->b_evict_lock);
+ ARCSTAT_BUMP(arcstat_access_skip);
+ return;
+ }
+
+ mutex_exit(&buf->b_evict_lock);
+
+ ASSERT(hdr->b_l1hdr.b_state == arc_mru ||
+ hdr->b_l1hdr.b_state == arc_mfu);
+
+ DTRACE_PROBE1(arc__hit, arc_buf_hdr_t *, hdr);
+ arc_access(hdr, hash_lock);
+ mutex_exit(hash_lock);
+
+ ARCSTAT_BUMP(arcstat_hits);
+ ARCSTAT_CONDSTAT(!HDR_PREFETCH(hdr), demand, prefetch,
+ !HDR_ISTYPE_METADATA(hdr), data, metadata, hits);
+}
+
+/* a generic arc_read_done_func_t which you can use */
/* ARGSUSED */
void
arc_bcopy_func(zio_t *zio, arc_buf_t *buf, void *arg)
diff --git a/module/zfs/dbuf.c b/module/zfs/dbuf.c
index 60f52d294..4ee121f5a 100644
--- a/module/zfs/dbuf.c
+++ b/module/zfs/dbuf.c
@@ -2719,8 +2719,10 @@ __dbuf_hold_impl(struct dbuf_hold_impl_data *dh)
return (SET_ERROR(ENOENT));
}
- if (dh->dh_db->db_buf != NULL)
+ if (dh->dh_db->db_buf != NULL) {
+ arc_buf_access(dh->dh_db->db_buf);
ASSERT3P(dh->dh_db->db.db_data, ==, dh->dh_db->db_buf->b_data);
+ }
ASSERT(dh->dh_db->db_buf == NULL || arc_referenced(dh->dh_db->db_buf));
--
2.14.2
@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 9a97a884f8a409395e00891afdc28fa92b9f79b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com> From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Mon, 24 Oct 2016 13:47:06 +0200 Date: Mon, 24 Oct 2016 13:47:06 +0200
Subject: [PATCH] import with -d /dev/disk/by-id in scan service Subject: [PATCH 5/6] import with -d /dev/disk/by-id in scan service
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@@ -12,10 +12,10 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in
index 227f5b74f..cc428b0d0 100644 index 0105283..665b9c8 100644
--- a/etc/systemd/system/zfs-import-scan.service.in --- a/etc/systemd/system/zfs-import-scan.service.in
+++ b/etc/systemd/system/zfs-import-scan.service.in +++ b/etc/systemd/system/zfs-import-scan.service.in
@@ -12,7 +12,7 @@ ConditionPathExists=!@sysconfdir@/zfs/zpool.cache @@ -10,7 +10,7 @@ ConditionPathExists=!@sysconfdir@/zfs/zpool.cache
Type=oneshot Type=oneshot
RemainAfterExit=yes RemainAfterExit=yes
ExecStartPre=/sbin/modprobe zfs ExecStartPre=/sbin/modprobe zfs
@@ -23,7 +23,7 @@ index 227f5b74f..cc428b0d0 100644
+ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none +ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none
[Install] [Install]
WantedBy=zfs-import.target WantedBy=zfs-mount.service
-- --
2.14.2 2.1.4
@@ -1,30 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Fri, 19 Jan 2018 12:13:46 +0100
Subject: [PATCH] always load ZFS module on boot
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
since zfs-import-scan.service is disabled by default, and
zfs-import-cache.service only gets started if a cache file exists, this
is needed for zfs-mount, zfs-share and zfs-zed services in case ZFS is
not actually used.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
etc/modules-load.d/zfs.conf.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/modules-load.d/zfs.conf.in b/etc/modules-load.d/zfs.conf.in
index 8b41baa30..59b058c9a 100644
--- a/etc/modules-load.d/zfs.conf.in
+++ b/etc/modules-load.d/zfs.conf.in
@@ -1,3 +1,3 @@
# Always load kernel modules at boot. The default behavior is to load the
# kernel modules in the zfs-import-*.service or when blkid(8) detects a pool.
-#zfs
+zfs
--
2.14.2
@@ -0,0 +1,29 @@
From 4264f648987efc980002ede5add258a427ad9a05 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Thu, 27 Oct 2016 10:18:55 +0200
Subject: [PATCH 6/6] fix rm path in zfs-share.service
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
etc/systemd/system/zfs-share.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/systemd/system/zfs-share.service.in b/etc/systemd/system/zfs-share.service.in
index 688731e..494f5cb 100644
--- a/etc/systemd/system/zfs-share.service.in
+++ b/etc/systemd/system/zfs-share.service.in
@@ -9,7 +9,7 @@ PartOf=smb.service
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStartPre=-@bindir@/rm -f /etc/dfs/sharetab
+ExecStartPre=-/bin/rm -f /etc/dfs/sharetab
ExecStart=@sbindir@/zfs share -a
[Install]
--
2.1.4
+6 -6
View File
@@ -1,6 +1,6 @@
0001-remove-DKMS-modules-and-dracut-build.patch 0001-Undo-python-changes-until-PVE-5.0-release.patch
0002-import-with-d-dev-disk-by-id-in-scan-service.patch 0002-remove-DKMS-modules-and-dracut-build.patch
0003-Use-user-namespaces-for-FSETID-policy-check.patch 0003-add-zfsutils.preinst-postinst-for-wheezy-upgrade-pat.patch
0004-Enable-zfs-import.target-in-systemd-preset-6968.patch 0004-ensure-upgrade-path-from-existing-PVE-ZFS-packages.patch
0005-Fix-ARC-hit-rate.patch 0005-import-with-d-dev-disk-by-id-in-scan-service.patch
0006-always-load-ZFS-module-on-boot.patch 0006-fix-rm-path-in-zfs-share.service.patch