Compare commits

..

1 Commits

Author SHA1 Message Date
Fabian Grünbichler
a3420151a0 update make upload target 2017-03-10 09:36:44 +01:00
82 changed files with 1122 additions and 5384 deletions

7
.gitignore vendored
View File

@ -1,7 +0,0 @@
/*.build
/*.buildinfo
/*.changes
/*.deb
/*.dsc
/*.tar*
/zfs-utils-*.*/

3
.gitmodules vendored
View File

@ -1,3 +0,0 @@
[submodule "zfs/upstream"]
path = upstream
url = ../mirror_zfs

136
Makefile
View File

@ -1,93 +1,87 @@
include /usr/share/dpkg/default.mk
RELEASE=4.1
# source form https://github.com/zfsonlinux/
PACKAGE = zfs-linux
ZFSVER=0.6.5.9
ZFSPKGREL=pve15~bpo80
SPLPKGREL=pve8~bpo80
ZFSPKGVER=${ZFSVER}-${ZFSPKGREL}
SPLPKGVER=${ZFSVER}-${SPLPKGREL}
SRCDIR = upstream
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
ORIG_SRC_TAR = $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
SPLDIR=pkg-spl
SPLSRC=pkg-spl.tar.gz
ZFSDIR=pkg-zfs
ZFSSRC=pkg-zfs.tar.gz
ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
SPL_DEBS= \
spl_${SPLPKGVER}_amd64.deb
ZFS_DEB_BINARY = \
libpam-zfs_$(DEB_VERSION)_amd64.deb \
libuutil3linux_$(DEB_VERSION)_amd64.deb \
libzfs4linux_$(DEB_VERSION)_amd64.deb \
libzfsbootenv1linux_$(DEB_VERSION)_amd64.deb \
libzpool5linux_$(DEB_VERSION)_amd64.deb \
zfs-test_$(DEB_VERSION)_amd64.deb \
zfsutils-linux_$(DEB_VERSION)_amd64.deb \
zfs-zed_$(DEB_VERSION)_amd64.deb
ZFS_DEBS= \
libnvpair1linux_${ZFSPKGVER}_amd64.deb \
libuutil1linux_${ZFSPKGVER}_amd64.deb \
libzfs2linux_${ZFSPKGVER}_amd64.deb \
libzfslinux-dev_${ZFSPKGVER}_amd64.deb \
libzpool2linux_${ZFSPKGVER}_amd64.deb \
zfs-dbg_${ZFSPKGVER}_amd64.deb \
zfs-zed_${ZFSPKGVER}_amd64.deb \
zfs-initramfs_${ZFSPKGVER}_all.deb \
zfsutils-linux_${ZFSPKGVER}_amd64.deb
ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_amd64.deb, %-dbgsym_$(DEB_VERSION)_amd64.deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY))
ZFS_TRANS_DEBS= \
libnvpair1_${ZFSPKGVER}_all.deb \
libuutil1_${ZFSPKGVER}_all.deb \
libzfs2_${ZFSPKGVER}_all.deb \
libzpool2_${ZFSPKGVER}_all.deb \
zfsutils_${ZFSPKGVER}_all.deb
ZFS_DEB2= $(ZFS_DEB_BINARY) \
libzfslinux-dev_$(DEB_VERSION)_amd64.deb \
python3-pyzfs_$(DEB_VERSION)_amd64.deb \
pyzfs-doc_$(DEB_VERSION)_all.deb \
spl_$(DEB_VERSION)_all.deb \
zfs-initramfs_$(DEB_VERSION)_all.deb
DEBS= $(ZFS_DEB1) $(ZFS_DEB2) $(ZFS_DBG_DEBS)
DEBS=${SPL_DEBS} ${ZFS_DEBS} ${ZFS_TRANS_DEBS}
ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc
all: deb
.PHONY: deb dsc
deb: $(DEBS)
dsc:
rm -rf *.dsc $(BUILDDIR)
$(MAKE) $(ZFS_DSC)
lintian $(ZFS_DSC)
# called from pve-kernel's Makefile to get patched sources
.PHONY: kernel
kernel: $(ZFS_DSC)
dpkg-source -x $(ZFS_DSC) ../pkg-zfs
$(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file
all: ${DEBS}
.PHONY: dinstall
dinstall: $(DEBS)
dpkg -i $(DEBS)
dinstall: ${DEBS}
dpkg -i ${DEBS}
.PHONY: submodule
submodule:
test -f "$(SRCDIR)/README.md" || git submodule update --init
$(SRCDIR)/README.md: submodule
.PHONY: spl
spl ${SPL_DEBS}: ${SPLSRC}
rm -rf ${SPLDIR}
tar xf ${SPLSRC}
mv ${SPLDIR}/debian/changelog ${SPLDIR}/debian/changelog.org
cat spl-changelog.Debian ${SPLDIR}/debian/changelog.org > ${SPLDIR}/debian/changelog
cd ${SPLDIR}; ln -s ../spl-patches patches
cd ${SPLDIR}; quilt push -a
cd ${SPLDIR}; rm -rf .pc ./patches
cd ${SPLDIR}; dpkg-buildpackage -b -uc -us
.PHONY: zfs
zfs: $(DEBS)
$(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
$(ZFS_DEB1): $(BUILDDIR)
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
lintian $(DEBS)
zfs ${ZFS_DEBS} ${ZFS_TRANS_DEBS}: ${ZFSSRC}
rm -rf ${ZFSDIR}
tar xf ${ZFSSRC}
mv ${ZFSDIR}/debian/changelog ${ZFSDIR}/debian/changelog.org
cat zfs-changelog.Debian ${ZFSDIR}/debian/changelog.org > ${ZFSDIR}/debian/changelog
cd ${ZFSDIR}; ln -s ../zfs-patches patches
cd ${ZFSDIR}; quilt push -a
cd ${ZFSDIR}; rm -rf .pc ./patches
cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
$(ORIG_SRC_TAR): $(BUILDDIR)
tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
$(ZFS_DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
cd $(BUILDDIR); dpkg-buildpackage -S -uc -us -d
sbuild: $(ZFS_DSC)
sbuild $(ZFS_DSC)
$(BUILDDIR): $(SRCDIR)/README.md $(SRCDIR) debian
rm -rf $@ $@.tmp
cp -a $(SRCDIR) $@.tmp
cp -a debian $@.tmp/debian
mv $@.tmp $@
.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
clean:
rm -rf $(PACKAGE)-[0-9]*/
rm -f *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.*
rm -rf *~ *.deb *.changes ${ZFSDIR} ${SPLDIR}
.PHONY: distclean
distclean: clean
.PHONY: upload
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
upload: $(DEBS)
tar -cf - $(DEBS) | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
upload: ${DEBS}
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve --dist jessie

4
README
View File

@ -2,8 +2,8 @@ Proxmox VE packaging for ZFS on Linux
This is based on code from:
https://salsa.debian.org/zfsonlinux-team/zfs
https://salsa.debian.org/zfsonlinux-team/spl
https://github.com/zfsonlinux/pkg-spl.git
https://github.com/zfsonlinux/pkg-zfs.git
We removed the dkms/modules related code, because we ship the
modules with the kernel.

997
debian/changelog vendored
View File

@ -1,997 +0,0 @@
zfs-linux (2.2.4-pve1) bookworm; urgency=medium
* update to new ZFS upstream 2.2.4 release
-- Proxmox Support Team <support@proxmox.com> Tue, 04 Jun 2024 11:11:48 +0200
zfs-linux (2.2.3-pve2) bookworm; urgency=medium
* fix #4835: order zfs-import@ before -cache/-scan
* backport (module) patches from the 2.2.4 staging tree for better Linux 6.8
support
-- Proxmox Support Team <support@proxmox.com> Mon, 08 Apr 2024 17:43:35 +0200
zfs-linux (2.2.3-pve1) bookworm; urgency=medium
* update to new ZFS upstream 2.2.3 release
* fix #5288: correctly handle zvols with more than 15 partitions in udev
-- Proxmox Support Team <support@proxmox.com> Mon, 11 Mar 2024 13:42:50 +0100
zfs-linux (2.2.2-pve2) bookworm; urgency=medium
* fix #5101: ensure datasets that have sharenfs enabled are not unexported
after a `zfs mount -a` call.
-- Proxmox Support Team <support@proxmox.com> Mon, 19 Feb 2024 16:56:37 +0100
zfs-linux (2.2.2-pve1) bookworm; urgency=medium
* update to new ZFS upstream 2.2.2 release, as we have all important fixes
for recent discovered data integrity issues backported to previous
versions, there should be no visible change in that regard.
-- Proxmox Support Team <support@proxmox.com> Mon, 04 Dec 2023 16:50:25 +0100
zfs-linux (2.2.0-pve4) bookworm; urgency=medium
* pick bug-fix staged for 2.2.2:
- fix (rare) corruption caused by dirty dnode being treated as clean
-- Proxmox Support Team <support@proxmox.com> Wed, 29 Nov 2023 09:21:26 +0100
zfs-linux (2.2.0-pve3) bookworm; urgency=medium
* pick bug-fixes staged for 2.2.1:
- add a tunable to disable BRT support and disable it by default
- fix block cloning between unencrypted and encrypted datasets
- disable block cloning by default
-- Proxmox Support Team <support@proxmox.com> Fri, 17 Nov 2023 17:32:58 +0100
zfs-linux (2.2.0-pve2) bookworm; urgency=medium
* avoid error from zfs-mount when /etc/exports.d does not exist (yet)
* ensure vdev_stat struct layout compat between 2.1 and 2.2, avoiding
false-positive detection of the non-allocating feature from 2.2 when the
kernel still used the 2.1 module.
-- Proxmox Support Team <support@proxmox.com> Sun, 12 Nov 2023 16:02:02 +0100
zfs-linux (2.2.0-pve1) bookworm; urgency=medium
* update ZFS to 2.2.0
* zfsutils-linux:
- install new systemd units to trim a pool periodically
- ship new `zilstat` binary
- and new man pages for zfs lock, zfs unlock and vdev properties
- remove man pages for zfs jail and zfs unjail, those are for FreeBSD only
and the respective commands where never exposed for Linux
* fix #5014: re-enable blk-mq optimization
-- Proxmox Support Team <support@proxmox.com> Sun, 15 Oct 2023 12:09:24 +0200
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
* re-build for Debian 12 Bookworm based releases
-- Proxmox Support Team <support@proxmox.com> Sat, 20 May 2023 19:32:04 +0200
zfs-linux (2.1.11-pve1) bullseye; urgency=medium
* update ZFS to 2.1.11
-- Proxmox Support Team <support@proxmox.com> Thu, 20 Apr 2023 09:30:53 +0200
zfs-linux (2.1.9-pve1) bullseye; urgency=medium
* update ZFS to 2.1.9
-- Proxmox Support Team <support@proxmox.com> Sat, 28 Jan 2023 15:03:22 +0100
zfs-linux (2.1.7-pve3) bullseye; urgency=medium
* backport a fix for as potentially hanging pipe when resizing it on recv
* backport a fix for setting extended attributes (xattr)
* adapt to 6.1 changes for open syscall with TMPFILE option
-- Proxmox Support Team <support@proxmox.com> Sat, 07 Jan 2023 13:21:57 +0100
zfs-linux (2.1.7-pve2) bullseye; urgency=medium
* backport fix for initramfs script when detecting rootfs legacy mountpoints
-- Proxmox Support Team <support@proxmox.com> Mon, 02 Jan 2023 17:07:18 +0100
zfs-linux (2.1.7-pve1) bullseye; urgency=medium
* update ZFS to 2.1.7
-- Proxmox Support Team <support@proxmox.com> Tue, 06 Dec 2022 16:41:31 +0100
zfs-linux (2.1.6-pve1) bullseye; urgency=medium
* update ZFS to 2.1.6
* symlink zpool_influxdb to /bin
* symlink zfs, zpool to /bin/ for non-root usage
-- Proxmox Support Team <support@proxmox.com> Tue, 04 Oct 2022 16:09:17 +0200
zfs-linux (2.1.5-pve1) bullseye; urgency=medium
* update ZFS to 2.1.5
* Build with libcurl for new keylocation=https://
* d/control: add new zfs-dracut package
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Jun 2022 16:13:24 +0200
zfs-linux (2.1.4-pve1) bullseye; urgency=medium
* update ZFS to 2.1.4
-- Proxmox Support Team <support@proxmox.com> Thu, 24 Mar 2022 09:28:50 +0100
zfs-linux (2.1.3-pve1) bullseye; urgency=medium
* update ZFS to 2.1.3
-- Proxmox Support Team <support@proxmox.com> Fri, 11 Mar 2022 16:36:22 +0100
zfs-linux (2.1.2-pve1) bullseye; urgency=medium
* update ZFS to 2.1.2
-- Proxmox Support Team <support@proxmox.com> Tue, 11 Jan 2022 11:31:34 +0100
zfs-linux (2.1.1-pve3) bullseye; urgency=medium
* zfs-utils: arc stat/summary: guard access to l2arc MFU/MRU stats to avoid
bogus exception when checking the ARC stats/summary on a older, 2.0 based
ZFS kernel module with the newer, 2.1 based, user space tools.
-- Proxmox Support Team <support@proxmox.com> Wed, 10 Nov 2021 09:58:31 +0100
zfs-linux (2.1.1-pve1) bullseye; urgency=medium
* update ZFS to 2.1.1
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Sep 2021 06:16:14 +0200
zfs-linux (2.0.5-pve1) bullseye; urgency=medium
* update ZFS to 2.0.5
* do not restart most services upon upgrade
* add a script and cronjob for regular trimming of pools
-- Proxmox Support Team <support@proxmox.com> Fri, 09 Jul 2021 18:23:58 +0200
zfs-linux (2.0.4-pve1) pve pmg; urgency=medium
* update ZFS to 2.0.4
-- Proxmox Support Team <support@proxmox.com> Thu, 18 Mar 2021 13:31:18 +0100
zfs-linux (2.0.3-pve2) pve pmg; urgency=medium
* match package names to the ones used by Debian
-- Proxmox Support Team <support@proxmox.com> Thu, 25 Feb 2021 13:06:07 +0100
zfs-linux (2.0.3-pve1) pve pmg; urgency=medium
* buildsys: make libpam-zfs a separate package
* update ZFS to 2.0.3
-- Proxmox Support Team <support@proxmox.com> Mon, 15 Feb 2021 15:46:03 +0100
zfs-linux (2.0.2-pve1) pve pmg; urgency=medium
* update ZFS to 2.0.2
-- Proxmox Support Team <support@proxmox.com> Sat, 06 Feb 2021 10:23:03 +0100
zfs-linux (2.0.1-pve1) pve pmg; urgency=medium
* update ZFS to 2.0.1
-- Proxmox Support Team <support@proxmox.com> Wed, 13 Jan 2021 14:16:02 +0100
zfs-linux (0.8.5-pve1) pve pmg; urgency=medium
* update ZFS to 0.8.5
-- Proxmox Support Team <support@proxmox.com> Thu, 08 Oct 2020 10:45:28 +0200
zfs-linux (0.8.4-pve2) pve pmg; urgency=medium
* add systemd-unit for importing specific pools
-- Proxmox Support Team <support@proxmox.com> Tue, 29 Sep 2020 05:31:35 +0200
zfs-linux (0.8.4-pve1) pve pmg; urgency=medium
* update ZFS to 0.8.4
-- Proxmox Support Team <support@proxmox.com> Thu, 14 May 2020 10:39:11 +0200
zfs-linux (0.8.3-pve1) pve pmg; urgency=medium
* update ZFS to 0.8.3
-- Proxmox Support Team <support@proxmox.com> Fri, 24 Jan 2020 09:10:41 +0100
zfs-linux (0.8.2-pve2) pve pmg; urgency=medium
* save and restore the FPU state using ZFS dedicated per-cpu FPU state
variables.
-- Proxmox Support Team <support@proxmox.com> Wed, 23 Oct 2019 17:14:22 +0200
zfs-linux (0.8.2-pve1) pve pmg; urgency=medium
* update to new 0.8.2 upstream stable release
-- Proxmox Support Team <support@proxmox.com> Sat, 28 Sep 2019 08:34:53 +0200
zfs-linux (0.8.1-pve3) pve pmg; urgency=medium
* [SIMD]: FPU register save/restore is also required on 5.0 kernel.
strict kernel module release, user space tooling is not touched
-- Proxmox Support Team <support@proxmox.com> Fri, 27 Sep 2019 14:37:32 +0200
zfs-linux (0.8.1-pve2) pve pmg; urgency=medium
* cherry-pick parallel mount fix
* cherry-pick SIMD compat patches
-- Proxmox Support Team <support@proxmox.com> Tue, 20 Aug 2019 17:10:11 +0200
zfs-linux (0.8.1-pve1) pve pmg; urgency=medium
* update ZFS to 0.8.1
-- Proxmox Support Team <support@proxmox.com> Fri, 14 Jun 2019 20:43:10 +0200
zfs-linux (0.8.0-pve1) pve pmg; urgency=medium
* update ZFS to 0.8.0
* SPL is now included in upstream ZFS packaging.
Build dummy spl and spl-dkms packages to ease transition on upgrades.
* Build pyzfs+documentation package
* Use arc_summary3.py to provide arc_summary.
* shipped python scripts now use python3
-- Proxmox Support Team <support@proxmox.com> Fri, 24 May 2019 12:05:22 +0200
zfs-linux (0.7.13-pve2~bpo2) pve pmg; urgency=medium
* rebuild for PVE 6.0 / Debian Buster
-- Proxmox Support Team <support@proxmox.com> Tue, 21 May 2019 20:08:45 +0200
zfs-linux (0.7.13-pve1~bpo2) unstable; urgency=medium
* remove conflict with insserv (<< 1.18)
-- Proxmox Support Team <support@proxmox.com> Wed, 27 Mar 2019 09:56:15 +0100
zfs-linux (0.7.13-pve1~bpo1) unstable; urgency=medium
* update ZFS to 0.7.13
* base zfs-linux on upstream ZOL instead of debian
-- Proxmox Support Team <support@proxmox.com> Fri, 08 Mar 2019 06:53:00 +0100
zfs-linux (0.7.12-pve1~bpo1) unstable; urgency=medium
* update ZFS to 0.7.12
-- Proxmox Support Team <support@proxmox.com> Wed, 14 Nov 2018 17:51:59 +0100
zfs-linux (0.7.11-pve2~bpo1) unstable; urgency=medium
* update ZFS to debian/0.7.11-3
* Cherry-pick two fixes planned for 0.7.12
* Backport deadlock fix between mm_sem and tx assign in zfs_write() and page
fault
* Fix missing Breaks/Replaces in zfs-initramfs
-- Proxmox Support Team <support@proxmox.com> Mon, 29 Oct 2018 13:45:49 +0100
zfs-linux (0.7.11-pve1~bpo1) unstable; urgency=medium
* update ZFS to 0.7.11
-- Proxmox Support Team <support@proxmox.com> Mon, 10 Sep 2018 15:47:31 +0200
zfs-linux (0.7.9-pve3~bpo9) unstable; urgency=medium
* Cherry-pick fix for deadlock umount/snapentry_expire
-- Proxmox Support Team <support@proxmox.com> Fri, 03 Aug 2018 11:41:11 +0200
zfs-linux (0.7.9-pve2~bpo9) unstable; urgency=medium
* Cherry-pick fix for zpl_mount deadlock
-- Proxmox Support Team <support@proxmox.com> Fri, 12 Jul 2018 12:37:50 +0200
zfs-linux (0.7.9-pve1~bpo9) unstable; urgency=medium
* update ZFS to 0.7.9
-- Proxmox Support Team <support@proxmox.com> Fri, 18 May 2018 13:49:09 +0200
zfs-linux (0.7.8-pve1~bpo9) unstable; urgency=medium
* update ZFS to 0.7.8 (no changes)
-- Proxmox Support Team <support@proxmox.com> Mon, 30 Apr 2018 13:47:22 +0200
zfs-linux (0.7.7-pve2~bpo9) unstable; urgency=medium
* (temporarily) revert likely cause of #7401
-- Proxmox Support Team <support@proxmox.com> Mon, 9 Apr 2018 09:49:27 +0200
zfs-linux (0.7.7-pve1~bpo9) unstable; urgency=medium
* update ZFS to 0.7.7
-- Proxmox Support Team <support@proxmox.com> Tue, 3 Apr 2018 14:28:35 +0200
zfs-linux (0.7.6-pve1~bpo9) unstable; urgency=medium
* update ZFS to 0.7.6
-- Proxmox Support Team <support@proxmox.com> Wed, 21 Feb 2018 09:48:29 +0100
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
* update zfs to debian/0.6.5.9-1
-- Proxmox Support Team <support@proxmox.com> Mon, 6 Feb 2017 12:39:10 +0100
zfs-linux (0.6.5.8-pve14~bpo80) unstable; urgency=medium
* update zfs to debian/0.6.5.8-3
-- Proxmox Support Team <support@proxmox.com> Wed, 11 Jan 2017 09:34:58 +0100
zfs-linux (0.6.5.8-pve13~bpo80) unstable; urgency=medium
* fix #1184: zfs-share.service has wrong path to 'rm' command
-- Proxmox Support Team <support@proxmox.com> Thu, 27 Oct 2016 11:25:47 +0200
zfs-linux (0.6.5.8-pve12~bpo80) unstable; urgency=medium
* import with "-d /dev/disk/by-id" in systemd service
-- Proxmox Support Team <support@proxmox.com> Mon, 24 Oct 2016 13:48:08 +0200
zfs-linux (0.6.5.8-pve11~bpo80) unstable; urgency=medium
* update zfs to debian/0.6.5.8-1
* switch package upstream sources to Debian (Jessie)
* add transitional packages for upgrades
-- Proxmox Support Team <support@proxmox.com> Wed, 12 Oct 2016 11:16:02 +0200
zfs-linux (0.6.5.7-pve10~bpo80) unstable; urgency=medium
* update to pkg-zfs jessie/0.6.5.7-8
* change package versioning to allow upgrades from PVE3/wheezy
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Jun 2016 09:50:00 +0200
zfs-linux (0.6.5-pve9~jessie) unstable; urgency=medium
* Update to pkg-zfs jessie/0.6.5.6-3
-- Proxmox Support Team <support@proxmox.com> Tue, 12 Apr 2016 09:51:35 +0200
zfs-linux (0.6.5-pve8~jessie) unstable; urgency=medium
* update to zfs-0.6.5.6
-- Proxmox Support Team <support@proxmox.com> Wed, 30 Mar 2016 10:50:22 +0200
zfs-linux (0.6.5-pve7~jessie) unstable; urgency=medium
* update to zfs-0.6.5.4
-- Proxmox Support Team <support@proxmox.com> Thu, 14 Jan 2016 10:51:17 +0100
zfs-linux (0.6.5-pve6~jessie) unstable; urgency=medium
* Prepare to tag zfs-0.6.5.3
-- Proxmox Support Team <support@proxmox.com> Thu, 05 Nov 2015 07:21:44 +0100
zfs-linux (0.6.5-pve5~jessie) unstable; urgency=medium
* Illumos 6267 - dn_bonus evicted too early
* Fix use-after-free in vdev_disk_physio_completion
-- Proxmox Support Team <support@proxmox.com> Wed, 04 Nov 2015 17:42:42 +0100
zfs-linux (0.6.5-pve4~jessie) unstable; urgency=medium
* update to master/debian/jessie/0.6.5.2-2
-- Proxmox Support Team <support@proxmox.com> Mon, 05 Oct 2015 17:56:45 +0200
zfs-linux (0.6.5-pve3~jessie) unstable; urgency=medium
* do not install /etc/init.d/zfs-zed script to avoid double startup
with systemd
-- Proxmox Support Team <support@proxmox.com> Mon, 28 Sep 2015 10:14:40 +0200
zfs-linux (0.6.5-pve2~jessie) unstable; urgency=medium
* update to master/debian/jessie/0.6.5.1-4
-- Proxmox Support Team <support@proxmox.com> Thu, 24 Sep 2015 12:45:33 +0200
zfs-linux (0.6.5-pve1~jessie) unstable; urgency=medium
* update to master/debian/jessie/0.6.5.1-2
-- Proxmox Support Team <support@proxmox.com> Mon, 21 Sep 2015 10:02:41 +0200
zfs-linux (0.6.4-pve3~jessie) unstable; urgency=medium
* update to snapshot/debian/jessie/0.6.4-24-6bec43
-- Proxmox Support Team <support@proxmox.com> Mon, 24 Aug 2015 06:13:44 +0200
zfs-linux (0.6.4-pve2~jessie) unstable; urgency=medium
* update to 0.6.4.2 (snapshot/debian/jessie/0.6.4-21-53b1d9)
-- Proxmox Support Team <support@proxmox.com> Tue, 21 Jul 2015 11:03:21 +0200
zfs-linux (0.6.4-pve1~jessie) unstable; urgency=medium
* update to 0.6.4 (use upstream zol package definitions)
-- Proxmox Support Team <support@proxmox.com> Tue, 14 Apr 2015 10:19:22 +0200
zfs-linux (0.6.3-pve3~jessie) unstable; urgency=medium
* ignore zfs-import-scan errors
-- Proxmox Support Team <support@proxmox.com> Tue, 31 Mar 2015 17:52:40 +0200
zfs-linux (0.6.3-pve2~jessie) unstable; urgency=medium
* use systemd for service startup
* install zed configuration file /etc/zfs/zed.d/zed.rc
-- Proxmox Support Team <support@proxmox.com> Sun, 15 Mar 2015 15:52:54 +0100
zfs-linux (0.6.3-pve1~jessie) unstable; urgency=medium
* recompile on jessie
-- Proxmox Support Team <support@proxmox.com> Sat, 28 Feb 2015 16:02:08 +0100
zfs-linux (0.6.3-2~wheezy) unstable; urgency=low
* use /sbin/modprobe to avoid warning inside initrd
* fix warning about undefined values inside initrd
-- Proxmox Support Team <support@proxmox.com> Wed, 14 Jan 2015 19:03:04 +0100
zfs-linux (0.6.3-1~wheezy) unstable; urgency=low
* first version for Proxmox VE
-- Proxmox Support Team <support@proxmox.com> Sat, 10 Jan 2015 14:06:34 +0100
zfs-linux (0.7.12-2) unstable; urgency=medium
[ Colin Ian King ]
* Only run autopkgtests for amd64, arm64, ppc64el and s390x (LP#1805627).
[ Martin Bagge / brother ]
* [INTL:sv] Swedish strings for zfs-linux debconf (Closes: #918020)
[ Anders Jonsson ]
* sv.po: typo fix
[ Mo Zhou ]
* Change init script's behaviour to default during postinst.
* Add ${perl:Depends} to zfs-dkms's Depends.
* Add autopkgtest script to test zfs-dkms build.
* autopkgtest: minor fix
[ Aron Xu ]
* Add XS-Autobuild: yes to d/control
* Conflicts with insserv << 1.18 (Closes: #915831)
-- Aron Xu <aron@debian.org> Fri, 11 Jan 2019 21:32:06 +0800
zfs-linux (0.7.12-1) unstable; urgency=medium
[ Stoiko Ivanov ]
* Add Breaks/Replaces to zfs-initramfs
[ Mo Zhou ]
* New upstream version 0.7.12
* Drop unnecessary patch init-start-stop-dep-on-local-fs.patch .
* Override init.d-script-missing-dependency-on-local_fs for zfs-zed.
* Bump linux compatibility to 4.19 .
-- Mo Zhou <cdluminate@gmail.com> Mon, 19 Nov 2018 11:32:44 +0000
zfs-linux (0.7.11-3) unstable; urgency=medium
[ Antonio Russo ]
+ https://salsa.debian.org/zfsonlinux-team/zfs/merge_requests/9
* Break/Replace upstream .deb packages (Closes: #839921)
* Install upstream bash completion file instead of embedded one.
* Modify META before autoreconf.
* Make dkms distdir before build to avoid including build artifacts.
* Remove ZFS_AC_PACKAGE macros from DKMS sources.
This removes dpkg-dev dependency from zfs-dkms package.
* Use upstream's dkms.mkconf script to produce dkms.conf .
* Ship initramfs zdev hook in zfs-initramfs (Closes: #902052)
[ Nicolas Braud-Santoni ]
* Update debian/copyright, removing unused wildcards.
[ Nicholas D Steeves ]
* Change -dbg package's priority from extra to optional.
[ Mo Zhou ]
* Fix FTBFS on architecture=all due to FileNotFound. (Closes: #911937)
* Add isolation-machine restriction to autopkgtest because the tests
needs to interact with the kernel, i.e. loading kernel module.
-- Mo Zhou <cdluminate@gmail.com> Sun, 28 Oct 2018 10:28:52 +0000
zfs-linux (0.7.11-2) unstable; urgency=medium
* Support Devuan in dkms script. (Closes: #900089)
Thanks to Chris Dos <chris@chrisdos.com>
* Install init scripts to support non-systemd setups. (Closes: #826994)
Thanks to Chris Dos <chris@chrisdos.com>
* Override init.d-script-does-not-source-init-functions for
zfsutils-linux and zfs-zed.
* Patch upstream init scripts to make them work for Debian+OpenRC setup.
* Patch upstream init script to fix missing dependency on local_fs.
-- Mo Zhou <cdluminate@gmail.com> Fri, 26 Oct 2018 09:32:06 +0000
zfs-linux (0.7.11-1) unstable; urgency=medium
[ Aron Xu ]
* Add dpkg-dev to Depends of zfs-dkms (Closes: #900714)
[ Nicolas Braud-Santoni ]
* Use canonical HTTPS format URL for Vcs-Git (Closes: #895873)
[ Mo Zhou ]
* New upstream version 0.7.11 (Closes: #908290)
* Bump linux_compat to 4.18 .
* Replace get_next.sh with one-liner awk script in rules.
* Append myself to Uploaders and refresh auto-generated control.
* Use HTTPS format URI in watch file.
* Recommends linux-libc-dev (<< LINUX_NEXT~) instead of (<< LINUX_NEXT).
-- Mo Zhou <cdluminate@gmail.com> Wed, 19 Sep 2018 08:45:18 +0000
zfs-linux (0.7.9-3) unstable; urgency=medium
[ Antonio Russo ]
* Expand zfs-test and add Breaks/Conflicts (Closes: #899047)
[ Aron Xu ]
* d/control: migrate to alioth-lists (Closes: #899756)
-- Aron Xu <aron@debian.org> Mon, 28 May 2018 18:22:02 +0800
zfs-linux (0.7.9-2) unstable; urgency=medium
[ Aron Xu ]
* Move more zfs test tools to zfs-test package (Closes: #868653)
* New upstream version 0.7.9
* d/rules: add --enable-systemd
* Fix lintian obsolete-relation-form-in-source
* Bump supported linux version to 4.16
[ Antonio Russo ]
* Install enum-extract.pl with dkms
* Handle /proc/kallsym obfuscation (Closes: #891936)
-- Aron Xu <aron@debian.org> Thu, 17 May 2018 23:47:29 +0800
zfs-linux (0.7.6-1) unstable; urgency=medium
[ Lev Lamberov ]
* [INTL:ru] Updated Russian translation of debconf (Closes: #885990)
[ Aron Xu]
* New upstream release (Closes: #889795, #890576)
* 0001-Fix-bug-in-distclean-which-removes-needed-files.patch:
removed, applied upstream
* Update VCS-* URL to salsa.debian.org
* Apply wrap-and-sort
* Recommends: linux-libc-dev (< ${LINUX_NEXT}):
Tries to prevent unexpected upgrades of kernel that is not known to
be supported by the packaged version of ZFS/SPL. (Closes: #849420)
-- Aron Xu <aron@debian.org> Mon, 26 Feb 2018 16:32:29 +0800
zfs-linux (0.7.5-1) unstable; urgency=medium
[ Aron Xu ]
* New upstream version 0.7.5 (Closes: #884812)
[ Antonio Russo ]
* Add version dependency on zfsutils-linux package (Closes: #880889)
-- Aron Xu <aron@debian.org> Fri, 19 Jan 2018 15:39:23 +0800
zfs-linux (0.7.4-1) unstable; urgency=medium
* New upstream version 0.7.4 (Closes: #884287, #883832)
* Require debhelper >= 10.2
* cherry-pick: fix distclean which removes needed files (Closes: #884706)
* Refresh patches
* Update stdver to 4.1.2, no change required
* Install zfs-import.target
-- Aron Xu <aron@debian.org> Mon, 18 Dec 2017 22:48:59 +0800
zfs-linux (0.7.3-3) unstable; urgency=medium
[ Antonio Russo ]
* Add maximum version dependency on spl-dkms (Closes: #883008)
-- Aron Xu <aron@debian.org> Thu, 30 Nov 2017 00:34:30 +0800
zfs-linux (0.7.3-2) unstable; urgency=medium
[ Fabian Grünbichler ]
* d/rules: remove obsolete calls to dpkg-architecture (Closes: #882209)
* zfs-test: add proper Breaks+Replaces (Closes: #880902)
* build: add implicit version to dh_makeshlibs (Closes: #880709)
[ Aron Xu ]
* Depend on matching version of spl-dkms (Closes: ##881013)
-- Aron Xu <aron@debian.org> Tue, 28 Nov 2017 16:16:34 +0800
zfs-linux (0.7.3-1) unstable; urgency=medium
[ Antonio Russo ]
* Refresh manual builds DKMS prevention patch
[ Fabian Grünbichler ]
* zfs-test package
* add files to debian/not-installed
* dh_install: switch to --fail-missing
* add new files from 0.7 to install
* dkms: build icp module as well
[ Antonio Russo ]
* dracut: make module-setup.sh shebang explicit
* add man page reference to systemd units
* Fix install path of zpool.d scripts
* Incorporate DebianPT.org Portuguese translation
* Fix typo in debconf templates
* Drop dependency on dh-systemd
[ Aron Xu ]
* Drop merged patches, update remainders
* Update std-ver to 4.1.1
* New upstream version 0.7.3
* Update debconf pot file
* Update control.in for dh-systemd deprecation
* Add lintian override for zfs-test
[ Colin King ]
* Improve cloning performance for large numbers of clones (LP: #1567557)
Bump zcmd buffer from 16K to 256K.
-- Aron Xu <aron@debian.org> Tue, 31 Oct 2017 18:52:01 +0800
zfs-linux (0.6.5.11-1) unstable; urgency=medium
[ Aron Xu ]
* Imported Upstream version 0.6.5.11
[ Fabian Grünbichler ]
* fix rm path in zfs-share.service
-- Aron Xu <aron@debian.org> Fri, 14 Jul 2017 16:33:23 +0800
zfs-linux (0.6.5.10-1) unstable; urgency=medium
* Add kernel version to depmod cmd (Closes: #860958)
* New upstream version 0.6.5.10
-- Aron Xu <aron@debian.org> Wed, 05 Jul 2017 18:11:39 +0800
zfs-linux (0.6.5.9-5) unstable; urgency=medium
* Add zfs initramfs conf for root pool setup
(Closes: #848157, LP: #1673197)
-- Aron Xu <aron@debian.org> Sun, 19 Mar 2017 18:14:57 +0800
zfs-linux (0.6.5.9-4) unstable; urgency=medium
* autopkgtest: load zfs module before running tests
-- Aron Xu <aron@debian.org> Tue, 14 Mar 2017 11:38:08 +0800
zfs-linux (0.6.5.9-3) unstable; urgency=medium
[ Petter Reinholdtsen ]
* Updated German debconf translation by Helge Kreutzmann. (Closes: #857528)
* Updated metadata on a few patches.
[ Aron Xu ]
* Cherry-pick upstream fix for merged /usr/lib and /lib
* Manually maintain adt test Depends
-- Aron Xu <aron@debian.org> Mon, 13 Mar 2017 12:23:32 +0800
zfs-linux (0.6.5.9-2) unstable; urgency=medium
[ Fabian Grünbichler ]
* fix zed-service-bindir patch
-- Aron Xu <aron@debian.org> Tue, 07 Feb 2017 17:22:02 +0800
zfs-linux (0.6.5.9-1) unstable; urgency=medium
[ Aron Xu ]
* Imported Upstream version 0.6.5.9 (Closes: #851513)
[ Lukas Wunner ]
* Cherry picks for root zpool with dracut (Closes: #849969)
* Fix installation path of systemd files
* Fix build breakage caused by nonstandard umask
[ Fabian Grünbichler ]
* fix python script install path (Closes: #842237)
-- Aron Xu <aron@debian.org> Mon, 06 Feb 2017 15:57:50 +0800
zfs-linux (0.6.5.8-3) unstable; urgency=medium
* Fix the path on the zfs-zed unit file (Closes: #849813)
-- Carlos Alberto Lopez Perez <clopez@igalia.com> Thu, 05 Jan 2017 16:23:16 +0100
zfs-linux (0.6.5.8-2) unstable; urgency=medium
[ Richard Laager ]
* Remove .py extension from utilities in /usr/sbin as per policy
10.4 Scripts (LP: #1628279)
[ Colin Ian King ]
* Use python3 for arcstat.py, arc_summary.py & dbufstat.py (LP: #1627909)
[ Richard Laager ]
* Set PATH in cron.d job to fix monthly scrubs. (LP: #1548009)
[ Aron Xu ]
* Install zed into /usr/sbin
* Rename zfsutils path to follow the package name
* Add missing part in python3 move
* Install zed to /usr/sbin
[ Petter Reinholdtsen ]
* Updated Italian debconf translation by Beatrice Torracca.
(Closes: #846928)
* Added patch 1003-linux-4.9-compat.patch from upstream to build with
Linux kernel 4.9. (Closes: #847018)
-- Aron Xu <aron@debian.org> Sat, 17 Dec 2016 17:42:21 +0800
zfs-linux (0.6.5.8-1) unstable; urgency=medium
[ Carlos Alberto Lopez Perez ]
* Reflow changelog from last upload to avoid lintian warning.
[ Aron Xu ]
* Imported Upstream version 0.6.5.8 (Closes: #838192)
* Conflicts with zutils (Closes: #836853)
[ Zhou Mo ]
* Patch: remove merged patches.
* Upstream renamed zed.service to zfs-zed.service .
* Avoid installing zfs-zed.service twice.
-- Aron Xu <aron@debian.org> Tue, 20 Sep 2016 15:20:21 +0800
zfs-linux (0.6.5.7-2) unstable; urgency=medium
[ Aron Xu ]
* Add busybox to zfs-initramfs list of dependencies. (Closes: #824976)
[ Petter Reinholdtsen ]
* Updated Danish debconf translation by Joe Hansen. (Closes: #830652)
* Added Dutch (nl) debconf translation by Frans Spiesschaert.
(Closes: #832280)
* Norwegian Bokmål (nb) debconf template translation by Petter Reinholdtsen.
[ Eric Desrochers ]
* Change utilities path (bindir) to /usr/sbin. (Closes: #832938)
[ Carlos Alberto Lopez Perez]
* Add tunable to ignore hole_birth, and enable it by default.
(Closes: #830824)
-- Carlos Alberto Lopez Perez <clopez@igalia.com> Tue, 16 Aug 2016 17:43:48 +0200
zfs-linux (0.6.5.7-1) unstable; urgency=medium
[ YunQiang Su ]
* 1002-fix-mips-build.patch: fix builds on mips* archs
[ Aron Xu ]
* New upstream release.
* 1001-Fix-aarch64-compilation.patch: dropped, not needed anymore
* Merge patches from Ubuntu:
- 0002-Check-for-META-and-DCH-consistency-in-autoconf.patch
- 0003-Add-libuutil-to-LIBADD-for-libzfs-and-libzfs_core.patch
- enable-zed.patch
-- Aron Xu <aron@debian.org> Tue, 31 May 2016 14:10:49 +0800
zfs-linux (0.6.5.6-2) unstable; urgency=medium
[ Aron Xu ]
* Adding smoke testing scripts from Ubuntu
* Fix binary module builds
* Add libblkid-dev, libattr1-dev to build-dep
* Re-sync source tree
* Add dh-python to b-d
* Remove .gitignore files and clean build tree
* Scrub all healthy pools monthly from Richard Laager
[ Petter Reinholdtsen ]
* Copied 1000-ppc64el-endian-support.patch from Ubuntu to fix endian
build problem on ppc64el
* Copied 1001-Fix-aarch64-compilation.patch from Ubuntu to fix build
problem on arm64.
* Copied 0001-Prevent-manual-builds-in-the-DKMS-source.patch from
Ubuntu to block manual building in the DKMS source tree.
* Updated Standards-Version from 3.9.7 to 3.9.8.
* Bring some files back to the upstream tarball content to get gbp
buildpackage working.
-- Petter Reinholdtsen <pere@debian.org> Thu, 12 May 2016 12:19:55 +0200
zfs-linux (0.6.5.6-1) unstable; urgency=medium
[ Aron Xu ]
* New upstream version 0.6.5.6.
[ Petter Reinholdtsen ]
* Generated new copyright.cme file based on version 0.6.5.6.
* Updated d/copyright file, add missing BSD licensed init.d scripts, and
new copyright holders in the new upstream version.
* Updated Standards-Version from 3.9.6 to 3.9.7.
* Added myself as uploader.
* Updated debconf po files based on newest pot file.
* Correct URL to git repo in d/control.
-- Petter Reinholdtsen <pere@debian.org> Sat, 26 Mar 2016 07:08:11 +0000
zfs-linux (0.6.5.5-1) unstable; urgency=medium
* Initial Release (Closes: #686447)
-- Aron Xu <aron@debian.org> Sun, 20 Mar 2016 22:57:06 +0800

288
debian/control vendored
View File

@ -1,288 +0,0 @@
Source: zfs-linux
Section: contrib/kernel
Priority: optional
Maintainer: Proxmox Support Team <support@proxmox.com>
Build-Depends: abigail-tools,
debhelper-compat (= 12),
dh-python,
libaio-dev,
libblkid-dev,
libcurl4-openssl-dev | libcurl4-gnutls-dev,
libelf-dev,
libpam0g-dev,
libssl-dev | libssl1.0-dev,
libtool,
libudev-dev,
lsb-release,
python3-cffi,
python3-setuptools,
python3-sphinx,
python3-all-dev,
uuid-dev,
zlib1g-dev
Standards-Version: 4.5.1
Homepage: https://www.zfsonlinux.org/
Vcs-Git: https://git.proxmox.com/git/zfsonlinux.git
Vcs-Browser: https://git.proxmox.com/?p=zfsonlinux.git;a=summary
Package: libnvpair3linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: libnvpair1, libnvpair1linux, libnvpair2linux, libnvpair3
Replaces: libnvpair1, libnvpair1linux, libnvpair2linux, libnvpair3
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
kernel and userland, and possibly saving onto disk files.
Package: libpam-zfs
Section: contrib/admin
Architecture: linux-any
Depends: libpam-runtime, ${misc:Depends}, ${shlibs:Depends}
Description: PAM module for managing encryption keys for ZFS
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
This provides a Pluggable Authentication Module (PAM) that automatically
unlocks encrypted ZFS datasets upon login.
Package: libuutil3linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: libuutil1, libuutil1linux, libuutil2linux, libuutil3
Replaces: libuutil1, libuutil1linux, libuutil2linux, libuutil3
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
that make it possible to run Solaris user code in a Linux environment
with relatively minimal modification.
* libavl: The Adelson-Velskii Landis balanced binary tree manipulation
library.
* libefi: The Extensible Firmware Interface library for GUID disk
partitioning.
* libshare: NFS, SMB, and iSCSI service integration for ZFS.
Package: libzfslinux-dev
Section: contrib/libdevel
Architecture: linux-any
Depends: libssl-dev | libssl1.0-dev,
libnvpair3linux (= ${binary:Version}),
libuutil3linux (= ${binary:Version}),
libzfs4linux (= ${binary:Version}),
libzfsbootenv1linux (= ${binary:Version}),
libzpool5linux (= ${binary:Version}),
${misc:Depends}
Provides: libnvpair-dev, libuutil-dev
Description: OpenZFS filesystem development files for Linux
Header files and static libraries for compiling software against
libraries of OpenZFS filesystem.
.
This package includes the development files of libnvpair3, libuutil3,
libzpool5 and libzfs4, libzfsbootenv1.
Package: libzfs4linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
# The libcurl4 is loaded through dlopen("libcurl.so.4").
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988521
Recommends: libcurl4
Breaks: libzfs2, libzfs2linux, libzfs3linux, libzfs4
Replaces: libzfs2, libzfs2linux, libzfs3linux, libzfs4
Description: OpenZFS filesystem library for Linux - general support
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
The OpenZFS library provides support for managing OpenZFS filesystems.
Package: libzfsbootenv1linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: libzfs2, libzfs4
Replaces: libzfs2, libzfs4
Description: OpenZFS filesystem library for Linux
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
The zfsbootenv library provides support for modifying ZFS label information.
Package: libzpool5linux
Section: contrib/libs
Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}
Breaks: libzpool2, libzpool2linux, libzpool3linux, libzpool4
Replaces: libzpool2, libzpool2linux, libzpool3linux, libzpool4
Description: OpenZFS pool library for Linux
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
This zpool library provides support for managing zpools.
Package: python3-pyzfs
Section: contrib/python
Architecture: linux-any
Depends: ${misc:Depends},
${python3:Depends},
python3-cffi,
zfsutils-linux (= ${binary:Version})
Description: wrapper for libzfs_core C library
libzfs_core is intended to be a stable interface for programmatic
administration of ZFS. This wrapper provides one-to-one wrappers for
libzfs_core API functions, but the signatures and types are more natural to
Python.
.
nvlists are wrapped as dictionaries or lists depending on their usage.
Some parameters have default values depending on typical use for
increased convenience. Enumerations and bit flags become strings and lists
of strings in Python. Errors are reported as exceptions rather than integer
errno-style error codes. The wrapper takes care to provide one-to-many
mapping of the error codes to the exceptions by interpreting a context
in which the error code is produced.
Package: pyzfs-doc
Section: contrib/doc
Architecture: all
Depends:
${sphinxdoc:Depends},
${sphinxdoc:Built-Using},
${misc:Depends}
Recommends:
python3-pyzfs
Description: wrapper for libzfs_core C library (documentation)
libzfs_core is intended to be a stable interface for programmatic
administration of ZFS. This wrapper provides one-to-one wrappers for
libzfs_core API functions, but the signatures and types are more natural to
Python.
.
nvlists are wrapped as dictionaries or lists depending on their usage.
Some parameters have default values depending on typical use for
increased convenience. Enumerations and bit flags become strings and lists
of strings in Python. Errors are reported as exceptions rather than integer
errno-style error codes. The wrapper takes care to provide one-to-many
mapping of the error codes to the exceptions by interpreting a context
in which the error code is produced.
.
This package contains the documentation.
Package: zfs-initramfs
Architecture: all
Depends: busybox-initramfs | busybox-static | busybox,
initramfs-tools,
zfsutils-linux (>= ${binary:Version}),
${misc:Depends}
Breaks: zfsutils-linux (<= 0.7.11-pve1~bpo1)
Replaces: zfsutils-linux (<= 0.7.11-pve1~bpo1)
Description: OpenZFS root filesystem capabilities for Linux - initramfs
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
This package adds OpenZFS to the system initramfs with a hook
for the initramfs-tools infrastructure.
Package: zfs-dracut
Architecture: all
Depends: dracut,
zfsutils-linux (>= ${source:Version}),
${misc:Depends}
Description: OpenZFS root filesystem capabilities for Linux - dracut
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
This package adds OpenZFS to the system initramfs with a hook
for the dracut infrastructure.
Package: zfsutils-linux
Section: contrib/admin
Architecture: linux-any
Depends: python3, ${misc:Depends}, ${shlibs:Depends}
Recommends: zfs-zed
Suggests: nfs-kernel-server,
samba-common-bin (>= 3.0.23),
zfs-initramfs
Conflicts: zfs, zfs-fuse
Provides: zfsutils
Description: command-line tools to manage OpenZFS filesystems
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
This package provides the zfs and zpool commands to create and administer
OpenZFS filesystems.
Package: zfs-zed
Section: contrib/admin
Architecture: linux-any
Depends: zfsutils-linux (>= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Recommends: bsd-mailx | mailutils
Description: OpenZFS Event Daemon
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
ZED (ZFS Event Daemon) monitors events generated by the ZFS kernel
module. When a zevent (ZFS Event) is posted, ZED will run any ZEDLETs
(ZFS Event Daemon Linkage for Executable Tasks) that have been enabled
for the corresponding zevent class.
.
This package provides the OpenZFS Event Daemon (zed).
Package: zfs-test
Section: contrib/admin
Architecture: linux-any
Depends: acl,
attr,
bc,
fio,
ksh,
lsscsi,
mdadm,
parted,
python3,
python3-pyzfs,
sudo,
sysstat,
zfsutils-linux (>=${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Recommends: nfs-kernel-server
Breaks: zfsutils-linux (<= 0.7.9-2)
Replaces: zfsutils-linux (<= 0.7.9-2)
Conflicts: zutils
Description: OpenZFS test infrastructure and support scripts
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
This package provides the OpenZFS test infrastructure for destructively
testing and validating a system using OpenZFS. It is entirely optional
and should only be installed and used in test environments.
Package: spl
Section: contrib/metapackages
Architecture: all
Depends: ${misc:Depends},
Suggests: zfs-test
Description: Solaris Porting Layer user-space utilities for Linux (dummy)
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
run Solaris kernel code in the Linux kernel with relatively minimal
modification. The Solaris Porting LAyer Tests (SPLAT) is a Linux kernel
module which provides a testing harness for the SPL module.
.
SPL can be particularly useful when you want to track upstream Illumos
(or any other OpenSolaris fork) development closely and don't want the
overhead of maintaining a large patch which converts Solaris primitives
to Linux primitives.
.
This is a transitional dummy package. It can safely be removed.

1250
debian/copyright vendored

File diff suppressed because it is too large Load Diff

1161
debian/copyright.cme vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +0,0 @@
COPYRIGHT
LICENSE

View File

@ -1 +0,0 @@
lib/@DEB_HOST_MULTIARCH@/libnvpair.so.*

View File

@ -1 +0,0 @@
package-name-doesnt-match-sonames

View File

@ -1,2 +0,0 @@
lib/*/security/pam_zfs_key.so
usr/share/pam-configs/zfs_key

View File

@ -1,6 +0,0 @@
#!/bin/sh
set -e
pam-auth-update --package
#DEBHELPER#

View File

@ -1,8 +0,0 @@
#!/bin/sh
set -e
if [ "$1" = remove ] ; then
pam-auth-update --package --remove zfs_key
fi
#DEBHELPER#

View File

@ -1,2 +0,0 @@
COPYRIGHT
LICENSE

View File

@ -1 +0,0 @@
lib/@DEB_HOST_MULTIARCH@/libuutil.so.*

View File

@ -1 +0,0 @@
package-name-doesnt-match-sonames

View File

@ -1,2 +0,0 @@
COPYRIGHT
LICENSE

View File

@ -1,2 +0,0 @@
lib/@DEB_HOST_MULTIARCH@/libzfs.so.*
lib/@DEB_HOST_MULTIARCH@/libzfs_core.so.*

View File

@ -1 +0,0 @@
package-name-doesnt-match-sonames

View File

@ -1,2 +0,0 @@
COPYRIGHT
LICENSE

View File

@ -1 +0,0 @@
lib/libzfsbootenv.so.*

View File

@ -1 +0,0 @@
lib/@DEB_HOST_MULTIARCH@/libzfsbootenv.so.*

View File

@ -1,2 +0,0 @@
package-name-doesnt-match-sonames
extra-license-file *usr/share/doc/libzfsbootenv1linux/LICENSE.gz*

View File

@ -1,2 +0,0 @@
COPYRIGHT
LICENSE

View File

@ -1,4 +0,0 @@
lib/@DEB_HOST_MULTIARCH@/*.a usr/lib/@DEB_HOST_MULTIARCH@/
usr/include
usr/lib/@DEB_HOST_MULTIARCH@/*.so
/usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/*.pc

View File

@ -1,2 +0,0 @@
COPYRIGHT
LICENSE

View File

@ -1 +0,0 @@
lib/@DEB_HOST_MULTIARCH@/libzpool.so.*

View File

@ -1 +0,0 @@
package-name-doesnt-match-sonames

13
debian/not-installed vendored
View File

@ -1,13 +0,0 @@
usr/share/zfs/enum-extract.pl
usr/share/zfs/zfs-helpers.sh
etc/default/zfs
etc/init.d
etc/sudoers.d
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
etc/zfs/vdev_id.conf.scsi.example
usr/lib/dracut
usr/share/zfs/enum-extract.pl
etc/zfs/zfs-functions

View File

@ -1,70 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Debian ZFS on Linux maintainers
<pkg-zfsonlinux-devel@alioth-lists.debian.net>
Date: Wed, 30 Jan 2019 15:12:04 +0100
Subject: [PATCH] Check-for-META-and-DCH-consistency-in-autoconf
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
config/zfs-meta.m4 | 34 +++++++++++++++++++++++++++++-----
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4
index 20064a0fb..4d5f545ad 100644
--- a/config/zfs-meta.m4
+++ b/config/zfs-meta.m4
@@ -1,9 +1,10 @@
dnl #
dnl # DESCRIPTION:
-dnl # Read meta data from the META file. When building from a git repository
-dnl # the ZFS_META_RELEASE field will be overwritten if there is an annotated
-dnl # tag matching the form ZFS_META_NAME-ZFS_META_VERSION-*. This allows
-dnl # for working builds to be uniquely identified using the git commit hash.
+dnl # Read meta data from the META file or the debian/changelog file if it
+dnl # exists. When building from a git repository the ZFS_META_RELEASE field
+dnl # will be overwritten if there is an annotated tag matching the form
+dnl # ZFS_META_NAME-ZFS_META_VERSION-*. This allows for working builds to be
+dnl # uniquely identified using the git commit hash.
dnl #
dnl # The META file format is as follows:
dnl # ^[ ]*KEY:[ \t]+VALUE$
@@ -49,6 +50,7 @@ AC_DEFUN([ZFS_AC_META], [
_zfs_ac_meta_type="none"
if test -f "$META"; then
_zfs_ac_meta_type="META file"
+ _dpkg_parsechangelog=$(dpkg-parsechangelog 2>/dev/null)
ZFS_META_NAME=_ZFS_AC_META_GETVAL([(Name|Project|Package)]);
if test -n "$ZFS_META_NAME"; then
@@ -69,8 +71,30 @@ AC_DEFUN([ZFS_AC_META], [
AC_SUBST([ZFS_META_VERSION])
fi
+ if test -n "${_dpkg_parsechangelog}"; then
+ _dpkg_version=$(echo "${_dpkg_parsechangelog}" \
+ | $AWK '$[]1 == "Version:" { print $[]2; }' \
+ | cut -d- -f1)
+ if test "${_dpkg_version}" != "$ZFS_META_VERSION"; then
+ AC_MSG_ERROR([
+ *** Version $ZFS_META_VERSION in the META file is different than
+ *** version $_dpkg_version in the debian/changelog file. DKMS and DEB
+ *** packaging require that these files have the same version.
+ ])
+ fi
+ fi
+
ZFS_META_RELEASE=_ZFS_AC_META_GETVAL([Release]);
- if test ! -f ".nogitrelease" && git rev-parse --git-dir > /dev/null 2>&1; then
+
+ if test -n "${_dpkg_parsechangelog}"; then
+ _dpkg_release=$(echo "${_dpkg_parsechangelog}" \
+ | $AWK '$[]1 == "Version:" { print $[]2; }' \
+ | cut -d- -f2-)
+ if test -n "${_dpkg_release}"; then
+ ZFS_META_RELEASE=${_dpkg_release}
+ _zfs_ac_meta_type="dpkg-parsechangelog"
+ fi
+ elif test ! -f ".nogitrelease" && git rev-parse --git-dir > /dev/null 2>&1; then
_match="${ZFS_META_NAME}-${ZFS_META_VERSION}"
_alias=$(git describe --match=${_match} 2>/dev/null)
_release=$(echo ${_alias}|sed "s/${ZFS_META_NAME}//"|cut -f3- -d'-'|tr - _)

View File

@ -1,29 +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>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
etc/modules-load.d/zfs.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/modules-load.d/zfs.conf b/etc/modules-load.d/zfs.conf
index 44e1bb3ed..7509b03cb 100644
--- a/etc/modules-load.d/zfs.conf
+++ b/etc/modules-load.d/zfs.conf
@@ -1,3 +1,3 @@
# The default behavior is to allow udev to load the kernel modules on demand.
# Uncomment the following line to unconditionally load them at boot.
-#zfs
+zfs

View File

@ -1,27 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Mon, 6 Feb 2017 12:04:35 +0100
Subject: [PATCH] Fix the path to the zed binary on the systemd unit.
We install zed into /usr/sbin manually meanwhile the upstream default is
installing it into /sbin. Ubuntu packages also install zed to /usr/sbin, but
they ship their own zfs-zed unit.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
etc/systemd/system/zfs-zed.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/systemd/system/zfs-zed.service.in b/etc/systemd/system/zfs-zed.service.in
index be2fc6734..7606604ec 100644
--- a/etc/systemd/system/zfs-zed.service.in
+++ b/etc/systemd/system/zfs-zed.service.in
@@ -5,7 +5,7 @@ ConditionPathIsDirectory=/sys/module/zfs
[Service]
EnvironmentFile=-@initconfdir@/zfs
-ExecStart=@sbindir@/zed -F
+ExecStart=/usr/sbin/zed -F
Restart=always
[Install]

View File

@ -1,27 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Richard Laager <rlaager@wiktel.com>
Date: Wed, 30 Jan 2019 15:12:04 +0100
Subject: [PATCH] Enable zed emails
The OpenZFS event daemon monitors pools. This patch enables the email sending
function by default (if zed is installed). This is consistent with the default
behavior of mdadm.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
cmd/zed/zed.d/zed.rc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
index bc269b155..e6d4b1703 100644
--- a/cmd/zed/zed.d/zed.rc
+++ b/cmd/zed/zed.d/zed.rc
@@ -41,7 +41,7 @@ ZED_EMAIL_ADDR="root"
##
# Minimum number of seconds between notifications for a similar event.
#
-#ZED_NOTIFY_INTERVAL_SECS=3600
+ZED_NOTIFY_INTERVAL_SECS=3600
##
# Notification verbosity.

View File

@ -1,46 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Antonio Russo <antonio.e.russo@gmail.com>
Date: Fri, 20 Mar 2020 17:28:43 +0100
Subject: [PATCH] dont symlink zed scripts
Of the zedlet scripts shipped by upstream, a subset are enabled by
default, by creating symlinks in /etc/zfs/zed.d. These symlinks are
shipped in the zfs-zed package. dpkg, however, does not support
conffile handling of symlinks, and therefore any changes (removals) to
the symlinks are not preserved on package upgrade.
To address this policy violation, we:
1. During package build, create a list of enabled-by-default zedlets,
instead of creating symlinks.
2. On package removal, identify all enabled-by-default zedlets whose
symlinks do not exist (i.e., were removed by the user). This is done
by creating "whiteout" links to /dev/null in their place).
3. On package installation, create links to enabled-by-default zedlets
UNLESS there is already a file there (i.e., abort if there is a
whiteout link).
4. We also clean up broken symlinks to removed zedlets at package
postinst.
Description: track default symlinks, instead of symlinking
Forwarded: no need
(cherry picked from https://salsa.debian.org/zfsonlinux-team/zfs/-/commit/5cee380324d7)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
cmd/zed/zed.d/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmd/zed/zed.d/Makefile.am b/cmd/zed/zed.d/Makefile.am
index 812558cf6..f802cf140 100644
--- a/cmd/zed/zed.d/Makefile.am
+++ b/cmd/zed/zed.d/Makefile.am
@@ -48,7 +48,7 @@ zed-install-data-hook:
set -x; for f in $(zedconfdefaults); do \
[ -f "$(DESTDIR)$(zedconfdir)/$${f}" ] ||\
[ -L "$(DESTDIR)$(zedconfdir)/$${f}" ] || \
- $(LN_S) "$(zedexecdir)/$${f}" "$(DESTDIR)$(zedconfdir)"; \
+ echo "$${f}" >> "$(DESTDIR)$(zedexecdir)/DEFAULT-ENABLED" ; \
done
SHELLCHECKSCRIPTS += $(dist_zedconf_DATA) $(dist_zedexec_SCRIPTS) $(nodist_zedexec_SCRIPTS)

View File

@ -1,72 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Stoiko Ivanov <s.ivanov@proxmox.com>
Date: Tue, 15 Sep 2020 19:07:24 +0200
Subject: [PATCH] Add systemd-unit for importing specific pools
The unit can be instantiated with a specific poolname, which will get imported
by scanning /dev/disk/by-id, irrespective of the existence and content of
/etc/zfs/zpool.cache.
the instance name is used unescaped (see systemd.unit(5)), since zpool names
can contain characters which will be escaped by systemd.
Its instances are ordered before the other two "big" import services to avoid
races and spurious (cosmetic!) service failures.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
etc/Makefile.am | 1 +
etc/systemd/system/50-zfs.preset | 1 +
etc/systemd/system/zfs-import@.service.in | 18 ++++++++++++++++++
3 files changed, 20 insertions(+)
create mode 100644 etc/systemd/system/zfs-import@.service.in
diff --git a/etc/Makefile.am b/etc/Makefile.am
index 7187762d3..de131dc87 100644
--- a/etc/Makefile.am
+++ b/etc/Makefile.am
@@ -54,6 +54,7 @@ dist_systemdpreset_DATA = \
systemdunit_DATA = \
%D%/systemd/system/zfs-import-cache.service \
%D%/systemd/system/zfs-import-scan.service \
+ %D%/systemd/system/zfs-import@.service \
%D%/systemd/system/zfs-import.target \
%D%/systemd/system/zfs-mount.service \
%D%/systemd/system/zfs-scrub-monthly@.timer \
diff --git a/etc/systemd/system/50-zfs.preset b/etc/systemd/system/50-zfs.preset
index e4056a92c..030611419 100644
--- a/etc/systemd/system/50-zfs.preset
+++ b/etc/systemd/system/50-zfs.preset
@@ -1,6 +1,7 @@
# ZFS is enabled by default
enable zfs-import-cache.service
disable zfs-import-scan.service
+enable zfs-import@.service
enable zfs-import.target
enable zfs-mount.service
enable zfs-share.service
diff --git a/etc/systemd/system/zfs-import@.service.in b/etc/systemd/system/zfs-import@.service.in
new file mode 100644
index 000000000..5bd19fb79
--- /dev/null
+++ b/etc/systemd/system/zfs-import@.service.in
@@ -0,0 +1,18 @@
+[Unit]
+Description=Import ZFS pool %i
+Documentation=man:zpool(8)
+DefaultDependencies=no
+After=systemd-udev-settle.service
+After=cryptsetup.target
+After=multipathd.target
+Before=zfs-import.target
+Before=zfs-import-scan.service
+Before=zfs-import-cache.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=@sbindir@/zpool import -N -d /dev/disk/by-id -o cachefile=none %I
+
+[Install]
+WantedBy=zfs-import.target

View File

@ -1,52 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Stoiko Ivanov <s.ivanov@proxmox.com>
Date: Thu, 4 Feb 2021 19:01:12 +0100
Subject: [PATCH] Patch: move manpage arcstat(1) to arcstat(8).
Originally-By: Mo Zhou <cdluminate@gmail.com>
Originally-By: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
man/Makefile.am | 2 +-
man/{man1/arcstat.1 => man8/arcstat.8} | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
rename man/{man1/arcstat.1 => man8/arcstat.8} (99%)
diff --git a/man/Makefile.am b/man/Makefile.am
index 43bb014dd..a9293468a 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -2,7 +2,6 @@ dist_noinst_man_MANS = \
%D%/man1/cstyle.1
dist_man_MANS = \
- %D%/man1/arcstat.1 \
%D%/man1/raidz_test.1 \
%D%/man1/test-runner.1 \
%D%/man1/zhack.1 \
@@ -22,6 +21,7 @@ dist_man_MANS = \
%D%/man7/zpoolconcepts.7 \
%D%/man7/zpoolprops.7 \
\
+ %D%/man8/arcstat.8 \
%D%/man8/fsck.zfs.8 \
%D%/man8/mount.zfs.8 \
%D%/man8/vdev_id.8 \
diff --git a/man/man1/arcstat.1 b/man/man8/arcstat.8
similarity index 99%
rename from man/man1/arcstat.1
rename to man/man8/arcstat.8
index 82358fa68..a8fb55498 100644
--- a/man/man1/arcstat.1
+++ b/man/man8/arcstat.8
@@ -13,7 +13,7 @@
.\" Copyright (c) 2020 by AJ Jordan. All rights reserved.
.\"
.Dd December 23, 2022
-.Dt ARCSTAT 1
+.Dt ARCSTAT 8
.Os
.
.Sh NAME

View File

@ -1,438 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Wed, 10 Nov 2021 09:29:47 +0100
Subject: [PATCH] arc stat/summary: guard access to freshly introduced stats
l2arc MFU/MRU and zfetch past future and stride stats were introduced
in 2.1 and 2.2.4 respectively:
commit 085321621e79a75bea41c2b6511da6ebfbf2ba0a added printing MFU
and MRU stats for 2.1 user space tools, but those keys are not
available in the 2.0 module. That means it may break the arcstat and
arc_summary tools after upgrade to 2.1 (user space), before a reboot
to the new 2.1 ZFS kernel-module happened, due to python raising a
KeyError on the dict access then.
Move those two keys to a .get accessor with `0` as fallback, as it
should be better to show some possible wrong data for new stat-keys
than throwing an exception.
also move l2_mfu_asize l2_mru_asize l2_prefetch_asize
l2_bufc_data_asize l2_bufc_metadata_asize to .get accessor
(these are only present with a cache device in the pool)
guard access to iohits and uncached state introduced in
792a6ee462efc15a7614f27e13f0f8aaa9414a08
guard access to zfetch past future stride stats introduced in
026fe796465e3da7b27d06ef5338634ee6dd30d8
These are present in the current kernel, but lead to an exception, if
running the new user-space with an old kernel module.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
cmd/arc_summary | 132 ++++++++++++++++++++++++------------------------
cmd/arcstat.in | 48 +++++++++---------
2 files changed, 90 insertions(+), 90 deletions(-)
diff --git a/cmd/arc_summary b/cmd/arc_summary
index 100fb1987..30f5d23e9 100755
--- a/cmd/arc_summary
+++ b/cmd/arc_summary
@@ -551,21 +551,21 @@ def section_arc(kstats_dict):
arc_target_size = arc_stats['c']
arc_max = arc_stats['c_max']
arc_min = arc_stats['c_min']
- meta = arc_stats['meta']
- pd = arc_stats['pd']
- pm = arc_stats['pm']
- anon_data = arc_stats['anon_data']
- anon_metadata = arc_stats['anon_metadata']
- mfu_data = arc_stats['mfu_data']
- mfu_metadata = arc_stats['mfu_metadata']
- mru_data = arc_stats['mru_data']
- mru_metadata = arc_stats['mru_metadata']
- mfug_data = arc_stats['mfu_ghost_data']
- mfug_metadata = arc_stats['mfu_ghost_metadata']
- mrug_data = arc_stats['mru_ghost_data']
- mrug_metadata = arc_stats['mru_ghost_metadata']
- unc_data = arc_stats['uncached_data']
- unc_metadata = arc_stats['uncached_metadata']
+ meta = arc_stats.get('meta', 0)
+ pd = arc_stats.get('pd', 0)
+ pm = arc_stats.get('pm', 0)
+ anon_data = arc_stats.get('anon_data', 0)
+ anon_metadata = arc_stats.get('anon_metadata', 0)
+ mfu_data = arc_stats.get('mfu_data', 0)
+ mfu_metadata = arc_stats.get('mfu_metadata', 0)
+ mru_data = arc_stats.get('mru_data', 0)
+ mru_metadata = arc_stats.get('mru_metadata', 0)
+ mfug_data = arc_stats.get('mfu_ghost_data', 0)
+ mfug_metadata = arc_stats.get('mfu_ghost_metadata', 0)
+ mrug_data = arc_stats.get('mru_ghost_data', 0)
+ mrug_metadata = arc_stats.get('mru_ghost_metadata', 0)
+ unc_data = arc_stats.get('uncached_data', 0)
+ unc_metadata = arc_stats.get('uncached_metadata', 0)
bonus_size = arc_stats['bonus_size']
dnode_limit = arc_stats['arc_dnode_limit']
dnode_size = arc_stats['dnode_size']
@@ -655,13 +655,13 @@ def section_arc(kstats_dict):
prt_i1('L2 cached evictions:', f_bytes(arc_stats['evict_l2_cached']))
prt_i1('L2 eligible evictions:', f_bytes(arc_stats['evict_l2_eligible']))
prt_i2('L2 eligible MFU evictions:',
- f_perc(arc_stats['evict_l2_eligible_mfu'],
+ f_perc(arc_stats.get('evict_l2_eligible_mfu', 0), # 2.0 module compat
arc_stats['evict_l2_eligible']),
- f_bytes(arc_stats['evict_l2_eligible_mfu']))
+ f_bytes(arc_stats.get('evict_l2_eligible_mfu', 0)))
prt_i2('L2 eligible MRU evictions:',
- f_perc(arc_stats['evict_l2_eligible_mru'],
+ f_perc(arc_stats.get('evict_l2_eligible_mru', 0), # 2.0 module compat
arc_stats['evict_l2_eligible']),
- f_bytes(arc_stats['evict_l2_eligible_mru']))
+ f_bytes(arc_stats.get('evict_l2_eligible_mru', 0)))
prt_i1('L2 ineligible evictions:',
f_bytes(arc_stats['evict_l2_ineligible']))
print()
@@ -672,106 +672,106 @@ def section_archits(kstats_dict):
"""
arc_stats = isolate_section('arcstats', kstats_dict)
- all_accesses = int(arc_stats['hits'])+int(arc_stats['iohits'])+\
+ all_accesses = int(arc_stats['hits'])+int(arc_stats.get('iohits', 0))+\
int(arc_stats['misses'])
prt_1('ARC total accesses:', f_hits(all_accesses))
ta_todo = (('Total hits:', arc_stats['hits']),
- ('Total I/O hits:', arc_stats['iohits']),
+ ('Total I/O hits:', arc_stats.get('iohits', 0)),
('Total misses:', arc_stats['misses']))
for title, value in ta_todo:
prt_i2(title, f_perc(value, all_accesses), f_hits(value))
print()
dd_total = int(arc_stats['demand_data_hits']) +\
- int(arc_stats['demand_data_iohits']) +\
+ int(arc_stats.get('demand_data_iohits', 0)) +\
int(arc_stats['demand_data_misses'])
prt_2('ARC demand data accesses:', f_perc(dd_total, all_accesses),
f_hits(dd_total))
dd_todo = (('Demand data hits:', arc_stats['demand_data_hits']),
- ('Demand data I/O hits:', arc_stats['demand_data_iohits']),
+ ('Demand data I/O hits:', arc_stats.get('demand_data_iohits', 0)),
('Demand data misses:', arc_stats['demand_data_misses']))
for title, value in dd_todo:
prt_i2(title, f_perc(value, dd_total), f_hits(value))
print()
dm_total = int(arc_stats['demand_metadata_hits']) +\
- int(arc_stats['demand_metadata_iohits']) +\
+ int(arc_stats.get('demand_metadata_iohits', 0)) +\
int(arc_stats['demand_metadata_misses'])
prt_2('ARC demand metadata accesses:', f_perc(dm_total, all_accesses),
f_hits(dm_total))
dm_todo = (('Demand metadata hits:', arc_stats['demand_metadata_hits']),
('Demand metadata I/O hits:',
- arc_stats['demand_metadata_iohits']),
+ arc_stats.get('demand_metadata_iohits', 0)),
('Demand metadata misses:', arc_stats['demand_metadata_misses']))
for title, value in dm_todo:
prt_i2(title, f_perc(value, dm_total), f_hits(value))
print()
pd_total = int(arc_stats['prefetch_data_hits']) +\
- int(arc_stats['prefetch_data_iohits']) +\
+ int(arc_stats.get('prefetch_data_iohits', 0)) +\
int(arc_stats['prefetch_data_misses'])
prt_2('ARC prefetch data accesses:', f_perc(pd_total, all_accesses),
f_hits(pd_total))
pd_todo = (('Prefetch data hits:', arc_stats['prefetch_data_hits']),
- ('Prefetch data I/O hits:', arc_stats['prefetch_data_iohits']),
+ ('Prefetch data I/O hits:', arc_stats.get('prefetch_data_iohits', 0)),
('Prefetch data misses:', arc_stats['prefetch_data_misses']))
for title, value in pd_todo:
prt_i2(title, f_perc(value, pd_total), f_hits(value))
print()
pm_total = int(arc_stats['prefetch_metadata_hits']) +\
- int(arc_stats['prefetch_metadata_iohits']) +\
+ int(arc_stats.get('prefetch_metadata_iohits', 0)) +\
int(arc_stats['prefetch_metadata_misses'])
prt_2('ARC prefetch metadata accesses:', f_perc(pm_total, all_accesses),
f_hits(pm_total))
pm_todo = (('Prefetch metadata hits:',
arc_stats['prefetch_metadata_hits']),
('Prefetch metadata I/O hits:',
- arc_stats['prefetch_metadata_iohits']),
+ arc_stats.get('prefetch_metadata_iohits', 0)),
('Prefetch metadata misses:',
arc_stats['prefetch_metadata_misses']))
for title, value in pm_todo:
prt_i2(title, f_perc(value, pm_total), f_hits(value))
print()
- all_prefetches = int(arc_stats['predictive_prefetch'])+\
- int(arc_stats['prescient_prefetch'])
+ all_prefetches = int(arc_stats.get('predictive_prefetch', 0))+\
+ int(arc_stats.get('prescient_prefetch', 0))
prt_2('ARC predictive prefetches:',
- f_perc(arc_stats['predictive_prefetch'], all_prefetches),
- f_hits(arc_stats['predictive_prefetch']))
+ f_perc(arc_stats.get('predictive_prefetch', 0), all_prefetches),
+ f_hits(arc_stats.get('predictive_prefetch', 0)))
prt_i2('Demand hits after predictive:',
f_perc(arc_stats['demand_hit_predictive_prefetch'],
- arc_stats['predictive_prefetch']),
+ arc_stats.get('predictive_prefetch', 0)),
f_hits(arc_stats['demand_hit_predictive_prefetch']))
prt_i2('Demand I/O hits after predictive:',
- f_perc(arc_stats['demand_iohit_predictive_prefetch'],
- arc_stats['predictive_prefetch']),
- f_hits(arc_stats['demand_iohit_predictive_prefetch']))
- never = int(arc_stats['predictive_prefetch']) -\
+ f_perc(arc_stats.get('demand_iohit_predictive_prefetch', 0),
+ arc_stats.get('predictive_prefetch', 0)),
+ f_hits(arc_stats.get('demand_iohit_predictive_prefetch', 0)))
+ never = int(arc_stats.get('predictive_prefetch', 0)) -\
int(arc_stats['demand_hit_predictive_prefetch']) -\
- int(arc_stats['demand_iohit_predictive_prefetch'])
+ int(arc_stats.get('demand_iohit_predictive_prefetch', 0))
prt_i2('Never demanded after predictive:',
- f_perc(never, arc_stats['predictive_prefetch']),
+ f_perc(never, arc_stats.get('predictive_prefetch', 0)),
f_hits(never))
print()
prt_2('ARC prescient prefetches:',
- f_perc(arc_stats['prescient_prefetch'], all_prefetches),
- f_hits(arc_stats['prescient_prefetch']))
+ f_perc(arc_stats.get('prescient_prefetch', 0), all_prefetches),
+ f_hits(arc_stats.get('prescient_prefetch', 0)))
prt_i2('Demand hits after prescient:',
f_perc(arc_stats['demand_hit_prescient_prefetch'],
- arc_stats['prescient_prefetch']),
+ arc_stats.get('prescient_prefetch', 0)),
f_hits(arc_stats['demand_hit_prescient_prefetch']))
prt_i2('Demand I/O hits after prescient:',
- f_perc(arc_stats['demand_iohit_prescient_prefetch'],
- arc_stats['prescient_prefetch']),
- f_hits(arc_stats['demand_iohit_prescient_prefetch']))
- never = int(arc_stats['prescient_prefetch'])-\
+ f_perc(arc_stats.get('demand_iohit_prescient_prefetch', 0),
+ arc_stats.get('prescient_prefetch', 0)),
+ f_hits(arc_stats.get('demand_iohit_prescient_prefetch', 0)))
+ never = int(arc_stats.get('prescient_prefetch', 0))-\
int(arc_stats['demand_hit_prescient_prefetch'])-\
- int(arc_stats['demand_iohit_prescient_prefetch'])
+ int(arc_stats.get('demand_iohit_prescient_prefetch', 0))
prt_i2('Never demanded after prescient:',
- f_perc(never, arc_stats['prescient_prefetch']),
+ f_perc(never, arc_stats.get('prescient_prefetch', 0)),
f_hits(never))
print()
@@ -782,7 +782,7 @@ def section_archits(kstats_dict):
arc_stats['mfu_ghost_hits']),
('Most recently used (MRU) ghost:',
arc_stats['mru_ghost_hits']),
- ('Uncached:', arc_stats['uncached_hits']))
+ ('Uncached:', arc_stats.get('uncached_hits', 0)))
for title, value in cl_todo:
prt_i2(title, f_perc(value, all_accesses), f_hits(value))
print()
@@ -794,26 +794,26 @@ def section_dmu(kstats_dict):
zfetch_stats = isolate_section('zfetchstats', kstats_dict)
zfetch_access_total = int(zfetch_stats['hits']) +\
- int(zfetch_stats['future']) + int(zfetch_stats['stride']) +\
- int(zfetch_stats['past']) + int(zfetch_stats['misses'])
+ int(zfetch_stats.get('future', 0)) + int(zfetch_stats.get('stride', 0)) +\
+ int(zfetch_stats.get('past', 0)) + int(zfetch_stats['misses'])
prt_1('DMU predictive prefetcher calls:', f_hits(zfetch_access_total))
prt_i2('Stream hits:',
f_perc(zfetch_stats['hits'], zfetch_access_total),
f_hits(zfetch_stats['hits']))
- future = int(zfetch_stats['future']) + int(zfetch_stats['stride'])
+ future = int(zfetch_stats.get('future', 0)) + int(zfetch_stats.get('stride', 0))
prt_i2('Hits ahead of stream:', f_perc(future, zfetch_access_total),
f_hits(future))
prt_i2('Hits behind stream:',
- f_perc(zfetch_stats['past'], zfetch_access_total),
- f_hits(zfetch_stats['past']))
+ f_perc(zfetch_stats.get('past', 0), zfetch_access_total),
+ f_hits(zfetch_stats.get('past', 0)))
prt_i2('Stream misses:',
f_perc(zfetch_stats['misses'], zfetch_access_total),
f_hits(zfetch_stats['misses']))
prt_i2('Streams limit reached:',
f_perc(zfetch_stats['max_streams'], zfetch_stats['misses']),
f_hits(zfetch_stats['max_streams']))
- prt_i1('Stream strides:', f_hits(zfetch_stats['stride']))
+ prt_i1('Stream strides:', f_hits(zfetch_stats.get('stride', 0)))
prt_i1('Prefetches issued', f_hits(zfetch_stats['io_issued']))
print()
@@ -860,20 +860,20 @@ def section_l2arc(kstats_dict):
f_perc(arc_stats['l2_hdr_size'], arc_stats['l2_size']),
f_bytes(arc_stats['l2_hdr_size']))
prt_i2('MFU allocated size:',
- f_perc(arc_stats['l2_mfu_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_mfu_asize']))
+ f_perc(arc_stats.get('l2_mfu_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_mfu_asize', 0))) # 2.0 module compat
prt_i2('MRU allocated size:',
- f_perc(arc_stats['l2_mru_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_mru_asize']))
+ f_perc(arc_stats.get('l2_mru_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_mru_asize', 0))) # 2.0 module compat
prt_i2('Prefetch allocated size:',
- f_perc(arc_stats['l2_prefetch_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_prefetch_asize']))
+ f_perc(arc_stats.get('l2_prefetch_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_prefetch_asize',0))) # 2.0 module compat
prt_i2('Data (buffer content) allocated size:',
- f_perc(arc_stats['l2_bufc_data_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_bufc_data_asize']))
+ f_perc(arc_stats.get('l2_bufc_data_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_bufc_data_asize', 0))) # 2.0 module compat
prt_i2('Metadata (buffer content) allocated size:',
- f_perc(arc_stats['l2_bufc_metadata_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_bufc_metadata_asize']))
+ f_perc(arc_stats.get('l2_bufc_metadata_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_bufc_metadata_asize', 0))) # 2.0 module compat
print()
prt_1('L2ARC breakdown:', f_hits(l2_access_total))
diff --git a/cmd/arcstat.in b/cmd/arcstat.in
index c4f10a1d6..bf47ec90e 100755
--- a/cmd/arcstat.in
+++ b/cmd/arcstat.in
@@ -510,7 +510,7 @@ def calculate():
v = dict()
v["time"] = time.strftime("%H:%M:%S", time.localtime())
v["hits"] = d["hits"] // sint
- v["iohs"] = d["iohits"] // sint
+ v["iohs"] = d.get("iohits", 0) // sint
v["miss"] = d["misses"] // sint
v["read"] = v["hits"] + v["iohs"] + v["miss"]
v["hit%"] = 100 * v["hits"] // v["read"] if v["read"] > 0 else 0
@@ -518,7 +518,7 @@ def calculate():
v["miss%"] = 100 - v["hit%"] - v["ioh%"] if v["read"] > 0 else 0
v["dhit"] = (d["demand_data_hits"] + d["demand_metadata_hits"]) // sint
- v["dioh"] = (d["demand_data_iohits"] + d["demand_metadata_iohits"]) // sint
+ v["dioh"] = (d.get("demand_data_iohits", 0) + d.get("demand_metadata_iohits", 0)) // sint
v["dmis"] = (d["demand_data_misses"] + d["demand_metadata_misses"]) // sint
v["dread"] = v["dhit"] + v["dioh"] + v["dmis"]
@@ -527,7 +527,7 @@ def calculate():
v["dm%"] = 100 - v["dh%"] - v["di%"] if v["dread"] > 0 else 0
v["ddhit"] = d["demand_data_hits"] // sint
- v["ddioh"] = d["demand_data_iohits"] // sint
+ v["ddioh"] = d.get("demand_data_iohits", 0) // sint
v["ddmis"] = d["demand_data_misses"] // sint
v["ddread"] = v["ddhit"] + v["ddioh"] + v["ddmis"]
@@ -536,7 +536,7 @@ def calculate():
v["ddm%"] = 100 - v["ddh%"] - v["ddi%"] if v["ddread"] > 0 else 0
v["dmhit"] = d["demand_metadata_hits"] // sint
- v["dmioh"] = d["demand_metadata_iohits"] // sint
+ v["dmioh"] = d.get("demand_metadata_iohits", 0) // sint
v["dmmis"] = d["demand_metadata_misses"] // sint
v["dmread"] = v["dmhit"] + v["dmioh"] + v["dmmis"]
@@ -545,8 +545,8 @@ def calculate():
v["dmm%"] = 100 - v["dmh%"] - v["dmi%"] if v["dmread"] > 0 else 0
v["phit"] = (d["prefetch_data_hits"] + d["prefetch_metadata_hits"]) // sint
- v["pioh"] = (d["prefetch_data_iohits"] +
- d["prefetch_metadata_iohits"]) // sint
+ v["pioh"] = (d.get("prefetch_data_iohits", 0) +
+ d.get("prefetch_metadata_iohits", 0)) // sint
v["pmis"] = (d["prefetch_data_misses"] +
d["prefetch_metadata_misses"]) // sint
@@ -556,7 +556,7 @@ def calculate():
v["pm%"] = 100 - v["ph%"] - v["pi%"] if v["pread"] > 0 else 0
v["pdhit"] = d["prefetch_data_hits"] // sint
- v["pdioh"] = d["prefetch_data_iohits"] // sint
+ v["pdioh"] = d.get("prefetch_data_iohits", 0) // sint
v["pdmis"] = d["prefetch_data_misses"] // sint
v["pdread"] = v["pdhit"] + v["pdioh"] + v["pdmis"]
@@ -565,7 +565,7 @@ def calculate():
v["pdm%"] = 100 - v["pdh%"] - v["pdi%"] if v["pdread"] > 0 else 0
v["pmhit"] = d["prefetch_metadata_hits"] // sint
- v["pmioh"] = d["prefetch_metadata_iohits"] // sint
+ v["pmioh"] = d.get("prefetch_metadata_iohits", 0) // sint
v["pmmis"] = d["prefetch_metadata_misses"] // sint
v["pmread"] = v["pmhit"] + v["pmioh"] + v["pmmis"]
@@ -575,8 +575,8 @@ def calculate():
v["mhit"] = (d["prefetch_metadata_hits"] +
d["demand_metadata_hits"]) // sint
- v["mioh"] = (d["prefetch_metadata_iohits"] +
- d["demand_metadata_iohits"]) // sint
+ v["mioh"] = (d.get("prefetch_metadata_iohits", 0) +
+ d.get("demand_metadata_iohits", 0)) // sint
v["mmis"] = (d["prefetch_metadata_misses"] +
d["demand_metadata_misses"]) // sint
@@ -592,24 +592,24 @@ def calculate():
v["mru"] = d["mru_hits"] // sint
v["mrug"] = d["mru_ghost_hits"] // sint
v["mfug"] = d["mfu_ghost_hits"] // sint
- v["unc"] = d["uncached_hits"] // sint
+ v["unc"] = d.get("uncached_hits", 0) // sint
v["eskip"] = d["evict_skip"] // sint
v["el2skip"] = d["evict_l2_skip"] // sint
v["el2cach"] = d["evict_l2_cached"] // sint
v["el2el"] = d["evict_l2_eligible"] // sint
- v["el2mfu"] = d["evict_l2_eligible_mfu"] // sint
- v["el2mru"] = d["evict_l2_eligible_mru"] // sint
+ v["el2mfu"] = d.get("evict_l2_eligible_mfu", 0) // sint
+ v["el2mru"] = d.get("evict_l2_eligible_mru", 0) // sint
v["el2inel"] = d["evict_l2_ineligible"] // sint
v["mtxmis"] = d["mutex_miss"] // sint
- v["ztotal"] = (d["zfetch_hits"] + d["zfetch_future"] + d["zfetch_stride"] +
- d["zfetch_past"] + d["zfetch_misses"]) // sint
+ v["ztotal"] = (d["zfetch_hits"] + d.get("zfetch_future", 0) + d.get("zfetch_stride", 0) +
+ d.get("zfetch_past", 0) + d["zfetch_misses"]) // sint
v["zhits"] = d["zfetch_hits"] // sint
- v["zahead"] = (d["zfetch_future"] + d["zfetch_stride"]) // sint
- v["zpast"] = d["zfetch_past"] // sint
+ v["zahead"] = (d.get("zfetch_future", 0) + d.get("zfetch_stride", 0)) // sint
+ v["zpast"] = d.get("zfetch_past", 0) // sint
v["zmisses"] = d["zfetch_misses"] // sint
v["zmax"] = d["zfetch_max_streams"] // sint
- v["zfuture"] = d["zfetch_future"] // sint
- v["zstride"] = d["zfetch_stride"] // sint
+ v["zfuture"] = d.get("zfetch_future", 0) // sint
+ v["zstride"] = d.get("zfetch_stride", 0) // sint
v["zissued"] = d["zfetch_io_issued"] // sint
v["zactive"] = d["zfetch_io_active"] // sint
@@ -624,11 +624,11 @@ def calculate():
v["l2size"] = cur["l2_size"]
v["l2bytes"] = d["l2_read_bytes"] // sint
- v["l2pref"] = cur["l2_prefetch_asize"]
- v["l2mfu"] = cur["l2_mfu_asize"]
- v["l2mru"] = cur["l2_mru_asize"]
- v["l2data"] = cur["l2_bufc_data_asize"]
- v["l2meta"] = cur["l2_bufc_metadata_asize"]
+ v["l2pref"] = cur.get("l2_prefetch_asize", 0)
+ v["l2mfu"] = cur.get("l2_mfu_asize", 0)
+ v["l2mru"] = cur.get("l2_mru_asize", 0)
+ v["l2data"] = cur.get("l2_bufc_data_asize", 0)
+ v["l2meta"] = cur.get("l2_bufc_metadata_asize", 0)
v["l2pref%"] = 100 * v["l2pref"] // v["l2asize"]
v["l2mfu%"] = 100 * v["l2mfu"] // v["l2asize"]
v["l2mru%"] = 100 * v["l2mru"] // v["l2asize"]

View File

@ -1,76 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: siv0 <github@nomore.at>
Date: Tue, 31 Oct 2023 21:57:54 +0100
Subject: [PATCH] Fix nfs_truncate_shares without /etc/exports.d
Calling nfs_reset_shares on Linux prints a warning:
`failed to lock /etc/exports.d/zfs.exports.lock: No such file or
directory`
when /etc/exports.d does not exist. The directory gets created, when a
filesystem is actually exported through nfs_toggle_share and
nfs_init_share. The truncation of /etc/exports.d/zfs.exports happens
unconditionally when calling `zfs mount -a` (via zfs_do_mount and
share_mount in `cmd/zfs/zfs_main.c`).
Fixing the issue only in the Linux part, since the exports file on
freebsd is in `/etc/zfs/`, which seems present on 2 FreeBSD systems I
have access to (through `/etc/zfs/compatibility.d/`), while a Debian
box does not have the directory even if `/usr/sbin/exportfs` is
present through the `nfs-kernel-server` package.
The code for exports_available is copied from nfs_available above.
Fixes: ede037cda73675f42b1452187e8dd3438fafc220
("Make zfs-share service resilient to stale exports")
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Closes #15369
Closes #15468
(cherry picked from commit 41e55b476bcfc90f1ad81c02c5375367fdace9e9)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
lib/libshare/os/linux/nfs.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/lib/libshare/os/linux/nfs.c b/lib/libshare/os/linux/nfs.c
index 004946b0c..3dce81840 100644
--- a/lib/libshare/os/linux/nfs.c
+++ b/lib/libshare/os/linux/nfs.c
@@ -47,6 +47,7 @@
static boolean_t nfs_available(void);
+static boolean_t exports_available(void);
typedef int (*nfs_shareopt_callback_t)(const char *opt, const char *value,
void *cookie);
@@ -539,6 +540,8 @@ nfs_commit_shares(void)
static void
nfs_truncate_shares(void)
{
+ if (!exports_available())
+ return;
nfs_reset_shares(ZFS_EXPORTS_LOCK, ZFS_EXPORTS_FILE);
}
@@ -566,3 +569,18 @@ nfs_available(void)
return (avail == 1);
}
+
+static boolean_t
+exports_available(void)
+{
+ static int avail;
+
+ if (!avail) {
+ if (access(ZFS_EXPORTS_DIR, F_OK) != 0)
+ avail = -1;
+ else
+ avail = 1;
+ }
+
+ return (avail == 1);
+}

View File

@ -1,66 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Sun, 12 Nov 2023 15:52:25 +0100
Subject: [PATCH] zpool status: tighten bounds for noalloc stat availabillity
When running zfs 2.2.0 userspace utilities with a kernel that still
has 2.1.13 modules zpool status adds `(non-allocating)` next to the
disk name of a single-disk pool.
The reason for this seems to be that the patch adding the `vs_pspace` field was
backported, but the one adding `vs_noalloc` was not.
Itself that is not a problem, but in 2.2 `noalloc` was added before `psspace`,
so the struct layout between 2.1.13 and 2.2.0 do NOT match anymore...
I.e., the struct looks like the following at the end for ZFS 2.1.x:
```
typedef struct vdev_stat {
hrtime_t vs_timestamp; /* time since vdev load */
// snip
uint64_t vs_logical_ashift; /* vdev_logical_ashift */
uint64_t vs_physical_ashift; /* vdev_physical_ashift */
uint64_t vs_pspace; /* physical capacity */
} vdev_stat_t;
```
And like the following on ZFS 2.2.x:
```
typedef struct vdev_stat {
hrtime_t vs_timestamp; /* time since vdev load */
// snip
uint64_t vs_logical_ashift; /* vdev_logical_ashift */
uint64_t vs_physical_ashift; /* vdev_physical_ashift */
uint64_t vs_noalloc; /* allocations halted? */
uint64_t vs_pspace; /* physical capacity */
} vdev_stat_t;
```
Resulting in 2.2.x user-space tooling interpreting the `vs_pspace` field from
the 2.1.x kernel module as `vs_noalloc` field.
For now, work-around that discrepancy by coupling the availability of
the vs_noalloc field with the one of the vs_pspace one, as when both
are returned from the module we can be sure that our struct layout
matches again.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
cmd/zpool/zpool_main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/cmd/zpool/zpool_main.c b/cmd/zpool/zpool_main.c
index ed0b8d7a1..f3acc49d0 100644
--- a/cmd/zpool/zpool_main.c
+++ b/cmd/zpool/zpool_main.c
@@ -2663,7 +2663,8 @@ print_status_config(zpool_handle_t *zhp, status_cbdata_t *cb, const char *name,
if (vs->vs_scan_removing != 0) {
(void) printf(gettext(" (removing)"));
- } else if (VDEV_STAT_VALID(vs_noalloc, vsc) && vs->vs_noalloc != 0) {
+ } else if (VDEV_STAT_VALID(vs_pspace, vsc)
+ && VDEV_STAT_VALID(vs_noalloc, vsc) && vs->vs_noalloc != 0) {
(void) printf(gettext(" (non-allocating)"));
}

11
debian/patches/series vendored
View File

@ -1,11 +0,0 @@
0001-Check-for-META-and-DCH-consistency-in-autoconf.patch
0002-always-load-ZFS-module-on-boot.patch
0003-Fix-the-path-to-the-zed-binary-on-the-systemd-unit.patch
0004-import-with-d-dev-disk-by-id-in-scan-service.patch
0005-Enable-zed-emails.patch
0006-dont-symlink-zed-scripts.patch
0007-Add-systemd-unit-for-importing-specific-pools.patch
0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
0009-arc-stat-summary-guard-access-to-freshly-introduced-.patch
0010-Fix-nfs_truncate_shares-without-etc-exports.d.patch
0011-zpool-status-tighten-bounds-for-noalloc-stat-availab.patch

View File

@ -1 +0,0 @@
usr/lib/python3*

119
debian/rules vendored
View File

@ -1,119 +0,0 @@
#!/usr/bin/make -f
include /usr/share/dpkg/default.mk
VERSION := $(DEB_VERSION_UPSTREAM)
REVISION := $(shell echo $(DEB_VERSION) | cut -d- -f2)
SPHINX_BUILD = $(shell dpkg -L python3-sphinx | grep -m 1 "/sphinx-build$$")
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --with autoreconf,python3,sphinxdoc
adapt_meta_file:
@# Embed the downstream version in the module.
@sed \
-e 's/^Version:.*/Version: $(VERSION)/' \
-e 's/^Release:.*/Release: $(REVISION)/' \
-i.orig META
override_dh_autoreconf: adapt_meta_file
dh_autoreconf
override_dh_auto_configure:
@# Build the userland, but don't build the kernel modules.
dh_auto_configure -- \
--bindir=/usr/bin \
--sbindir=/sbin \
--libdir=/lib/"$(DEB_HOST_MULTIARCH)" \
--with-udevdir=/lib/udev \
--with-zfsexecdir=/usr/lib/zfs-linux \
--enable-systemd \
--enable-pyzfs \
--with-python=python3 \
--with-pammoduledir='/lib/$(DEB_HOST_MULTIARCH)/security' \
--with-pkgconfigdir='/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig' \
--with-systemdunitdir=/lib/systemd/system \
--with-systemdpresetdir=/lib/systemd/system-preset \
--with-systemdgeneratordir=/lib/systemd/system-generators \
--with-config=user
for i in $(wildcard $(CURDIR)/debian/*.install.in) ; do \
basename "$$i" | grep _KVERS_ && continue ; \
sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' "$$i" > "$${i%%.in}" ; \
done
override_dh_auto_test:
override_dh_auto_test:
ifeq (amd64,$(DEB_HOST_ARCH))
# Upstream provides an ABI guarantee that we validate here
-$(MAKE) checkabi
endif
# The dh_auto_test rule is disabled because
# `make check` cannot run in an unprivileged build environment.
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' '$(CURDIR)/debian/tmp/usr/sbin/arc_summary'
mv '$(CURDIR)/debian/tmp/usr/bin/arcstat' '$(CURDIR)/debian/tmp/usr/sbin/arcstat'
mv '$(CURDIR)/debian/tmp/usr/bin/dbufstat' '$(CURDIR)/debian/tmp/usr/sbin/dbufstat'
@# Zed has dependencies outside of the system root.
mv '$(CURDIR)/debian/tmp/sbin/zed' '$(CURDIR)/debian/tmp/usr/sbin/zed'
mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
for i in `ls $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/*.so`; do \
ln -s /lib/$(DEB_HOST_MULTIARCH)/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/`basename $${i}`; \
rm $${i}; \
done
chmod a-x '$(CURDIR)/debian/tmp/etc/zfs/zfs-functions'
chmod a-x '$(CURDIR)/debian/tmp/etc/default/zfs'
override_dh_python3:
dh_python3 -p python3-pyzfs
override_dh_makeshlibs:
dh_makeshlibs -a -V
override_dh_auto_clean:
find . -name .gitignore -delete
rm -rf zfs-$(DEB_VERSION_UPSTREAM)
dh_auto_clean
@if test -e META.orig; then mv META.orig META; fi
override_dh_install:
find debian/tmp/lib -name '*.la' -delete
dh_install
override_dh_missing:
dh_missing --fail-missing
override_dh_installsystemd:
# these to lines prevent the restarting of all systemd services, except
# zfs-zed - they should not be restarted (importing, mounting, creating
# links in /dev, and can cause erros in the log
# (upon major.minor change)
dh_installsystemd --no-stop-on-upgrade -X zfs-zed.service
dh_installsystemd --name zfs-zed
override_dh_installdocs:
dh_installdocs
ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS)))
http_proxy='127.0.0.1:9' $(SPHINX_BUILD) -N -bhtml "$(CURDIR)/contrib/pyzfs/docs/source/" debian/pyzfs-doc/usr/share/doc/pyzfs-doc/html/
endif
# ------------
debian-copyright:
cme update dpkg-copyright -file debian/copyright.cme

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1,8 +0,0 @@
for x in $(cat /proc/cmdline)
do
case $x in
root=ZFS=*)
BOOT=zfs
;;
esac
done

View File

@ -1,67 +0,0 @@
#!/bin/sh
#
# Add udev rules for ZoL to the initrd.
#
PREREQ="udev"
PREREQ_UDEV_RULES="60-zvol.rules 69-vdev.rules"
COPY_EXEC_LIST="/lib/udev/zvol_id /lib/udev/vdev_id"
# Generic result code.
RC=0
case $1 in
prereqs)
echo "$PREREQ"
exit 0
;;
esac
for ii in $COPY_EXEC_LIST
do
if [ ! -x "$ii" ]
then
echo "Error: $ii is not executable."
RC=2
fi
done
if [ "$RC" -ne 0 ]
then
exit "$RC"
fi
. /usr/share/initramfs-tools/hook-functions
mkdir -p "$DESTDIR/lib/udev/rules.d/"
for ii in $PREREQ_UDEV_RULES
do
if [ -e "/etc/udev/rules.d/$ii" ]
then
cp -p "/etc/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/"
elif [ -e "/lib/udev/rules.d/$ii" ]
then
cp -p "/lib/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/"
else
echo "Error: Missing udev rule: $ii"
echo " This file must be in the /etc/udev/rules.d or /lib/udev/rules.d directory."
exit 1
fi
done
for ii in $COPY_EXEC_LIST
do
copy_exec "$ii"
done
if [ -f '/etc/default/zfs' -a -r '/etc/default/zfs' ]
then
mkdir -p "$DESTDIR/etc/default"
cp -a '/etc/default/zfs' "$DESTDIR/etc/default/"
fi
if [ -d '/etc/zfs' -a -r '/etc/zfs' ]
then
mkdir -p "$DESTDIR/etc"
cp -a '/etc/zfs' "$DESTDIR/etc/"
fi

View File

@ -1,18 +0,0 @@
## Allow read-only ZoL commands to be called through sudo
## without a password. Remove the first '#' column to enable.
##
## CAUTION: Any syntax error introduced here will break sudo.
##
## Cmnd alias specification
#Cmnd_Alias C_ZFS = \
# /sbin/zfs "", /sbin/zfs help *, \
# /sbin/zfs get, /sbin/zfs get *, \
# /sbin/zfs list, /sbin/zfs list *, \
# /sbin/zpool "", /sbin/zpool help *, \
# /sbin/zpool iostat, /sbin/zpool iostat *, \
# /sbin/zpool list, /sbin/zpool list *, \
# /sbin/zpool status, /sbin/zpool status *, \
# /sbin/zpool upgrade, /sbin/zpool upgrade -v
#
## allow any user to use basic read-only ZFS commands
#ALL ALL = (root) NOPASSWD: C_ZFS

View File

@ -1,14 +0,0 @@
#!/bin/sh
# Sub-test to exclude ZVOLs
set -e
partition="$1"
. /usr/share/os-prober/common.sh
if [ "$(stat -L -c %t "$partition")" = "e6" ] ; then
debug "$1 is a ZVOL; skipping"
exit 0
fi
# No ZVOLs found
exit 1

View File

@ -1,45 +0,0 @@
#!/bin/sh -eu
# directly exit successfully when zfs module is not loaded
if ! [ -d /sys/module/zfs ]; then
exit 0
fi
# [auto] / enable / disable
PROPERTY_NAME="org.debian:periodic-scrub"
get_property () {
# Detect the ${PROPERTY_NAME} property on a given pool.
# We are abusing user-defined properties on the root dataset,
# since they're not available on pools https://github.com/openzfs/zfs/pull/11680
# TODO: use zpool user-defined property when such feature is available.
pool="$1"
zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null || return 1
}
scrub_if_not_scrub_in_progress () {
pool="$1"
if ! zpool status "${pool}" | grep -q "scrub in progress"; then
# Ignore errors and continue with scrubbing other pools.
zpool scrub "${pool}" || true
fi
}
# Scrub all healthy pools that are not already scrubbing as per their configs.
zpool list -H -o health,name 2>&1 | \
awk -F'\t' '$1 == "ONLINE" {print $2}' | \
while read pool
do
# read user-defined config
ret=$(get_property "${pool}")
if [ $? -ne 0 ] || [ "disable" = "${ret}" ]; then
:
elif [ "-" = "${ret}" ] || [ "auto" = "${ret}" ] || [ "enable" = "${ret}" ]; then
scrub_if_not_scrub_in_progress "${pool}"
else
cat > /dev/stderr <<EOF
$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.
EOF
fi
done

View File

@ -1,69 +0,0 @@
#!/bin/sh -u
# directly exit successfully when zfs module is not loaded
if ! [ -d /sys/module/zfs ]; then
exit 0
fi
# [auto] / enable / disable
PROPERTY_NAME="org.debian:periodic-trim"
get_property () {
# Detect the ${PROPERTY_NAME} property on a given pool.
# We are abusing user-defined properties on the root dataset,
# since they're not available on pools https://github.com/openzfs/zfs/pull/11680
# TODO: use zpool user-defined property when such feature is available.
pool="$1"
zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null
}
trim_if_not_already_trimming () {
pool="$1"
if ! zpool status "${pool}" | grep -q "trimming"; then
# This will error on HDD-only pools: doesn't matter
zpool trim "${pool}"
fi
}
# Walk up the kernel parent names:
# this will catch devices from LVM &a.
get_transp () {
dev="$1"
while pd="$(lsblk -dnr -o PKNAME "$dev")"; do
if [ -z "$pd" ]; then
break
else
dev="/dev/$pd"
fi
done
lsblk -dnr -o TRAN "$dev"
}
pool_is_nvme_only () {
pool="$1"
# get a list of devices attached to the specified pool
zpool list -vHP "${pool}" | \
awk -F'\t' '$2 ~ "^/dev/" {print $2}' | \
while read -r dev
do
[ "$(get_transp "$dev")" = "nvme" ] || return
done
}
# TRIM all healthy pools that are not already trimming as per their configs.
zpool list -H -o health,name 2>&1 | \
awk -F'\t' '$1 == "ONLINE" {print $2}' | \
while read -r pool
do
# read user-defined config
ret=$(get_property "${pool}") || continue
case "${ret}" in
disable);;
enable) 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
$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.
EOF
esac
done

2
debian/watch vendored
View File

@ -1,2 +0,0 @@
version=3
https://zfsonlinux.org/ .*zfs-([\d\.]+)\.tar\.gz$

View File

@ -1,2 +0,0 @@
usr/lib/dracut
usr/share/man/man7/dracut.zfs.7

View File

@ -1,2 +0,0 @@
../tree/zfs-initramfs/* /
usr/share/initramfs-tools/*

View File

@ -1 +0,0 @@
executable-not-elf-or-script *usr/share/initramfs-tools/scripts/zfs*

View File

@ -1,15 +0,0 @@
sbin/zinject
sbin/ztest
usr/bin/raidz_test
usr/share/man/man1/raidz_test.1
usr/share/man/man1/test-runner.1
usr/share/man/man1/ztest.1
usr/share/man/man8/zinject.8
usr/share/zfs/common.sh
usr/share/zfs/runfiles/
usr/share/zfs/test-runner
usr/share/zfs/zfs-tests.sh
usr/share/zfs/zfs-tests/
usr/share/zfs/zfs.sh
usr/share/zfs/zimport.sh
usr/share/zfs/zloop.sh

View File

@ -1,10 +0,0 @@
arch-dependent-file-in-usr-share
command-in-sbin-has-manpage-in-incorrect-section
arch-dep-package-has-big-usr-share
manpage-without-executable
national-encoding *usr/share/zfs/zfs-tests/tests/functional/channel_program/lua_core/tst.lib_table.lua*
executable-not-elf-or-script *usr/share/zfs/zfs-tests/tests/functional/cli_root/*
package-contains-documentation-outside-usr-share-doc *usr/share/zfs/zfs-tests/*
script-not-executable [usr/share/zfs/common.sh]
script-not-executable [usr/share/zfs/zfs-tests/include/default.cfg]
script-not-executable [usr/share/zfs/zfs-tests/tests/functional/*]

View File

@ -1,5 +0,0 @@
etc/zfs/zed.d/*
lib/systemd/system/zfs-zed.service
usr/lib/zfs-linux/zed.d/*
usr/sbin/zed
usr/share/man/man8/zed.8

View File

@ -1,4 +0,0 @@
script-not-executable
# https://github.com/zfsonlinux/zfs/issues/8064
systemd-service-file-refers-to-unusual-wantedby-target

View File

@ -1,20 +0,0 @@
#!/bin/sh
set -e
zedd="/usr/lib/zfs-linux/zed.d"
etcd="/etc/zfs/zed.d"
# enable all default zedlets that are not overridden
while read -r file ; do
etcfile="${etcd}/${file}"
[ -e "${etcfile}" ] && continue
ln -sfT "${zedd}/${file}" "${etcfile}"
done < "${zedd}/DEFAULT-ENABLED"
# remove the overrides created in prerm
find "${etcd}" -maxdepth 1 -lname '/dev/null' -delete
# remove any dangling symlinks to old zedlets
find "${etcd}" -maxdepth 1 -lname "${zedd}/*" -xtype l -delete
#DEBHELPER#

17
debian/zfs-zed.postrm vendored
View File

@ -1,17 +0,0 @@
#!/bin/sh
set -e
zedd="/usr/lib/zfs-linux/zed.d"
etcd="/etc/zfs/zed.d"
if [ "$1" = "purge" ] && [ -d "$etcd" ] ; then
# remove the overrides created in prerm
find "${etcd}" -maxdepth 1 -lname '/dev/null' -delete
# remove any dangling symlinks to old zedlets
find "${etcd}" -maxdepth 1 -lname "${zedd}/*" -xtype l -delete
# clean up any empty directories
( rmdir "$etcd" && rmdir "/etc/zfs" ) || true
fi
#DEBHELPER#

16
debian/zfs-zed.prerm vendored
View File

@ -1,16 +0,0 @@
#!/bin/sh
set -e
zedd="/usr/lib/zfs-linux/zed.d"
etcd="/etc/zfs/zed.d"
if [ "$1" != "failed-upgrade" ] && [ -d "${etcd}" ] && [ -d "${zedd}" ] ; then
while read -r file ; do
etcfile="${etcd}/${file}"
( [ -L "${etcfile}" ] || [ -e "${etcfile}" ] ) && continue
ln -sT /dev/null "${etcfile}"
done < "${zedd}/DEFAULT-ENABLED"
fi
#DEBHELPER#

View File

@ -1,7 +0,0 @@
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# TRIM the first Sunday of every month.
24 0 1-7 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/trim ]; then /usr/lib/zfs-linux/trim; fi
# Scrub the second Sunday of every month.
24 0 8-14 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/scrub ]; then /usr/lib/zfs-linux/scrub; fi

View File

@ -1,2 +0,0 @@
COPYRIGHT
LICENSE

View File

@ -1,5 +0,0 @@
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
etc/zfs/vdev_id.conf.scsi.example

View File

@ -1,137 +0,0 @@
../tree/zfsutils-linux/* /
etc/default/zfs
etc/zfs/zfs-functions
etc/zfs/zpool.d/
lib/systemd/system-preset/
lib/systemd/system/zfs-import-cache.service
lib/systemd/system/zfs-import-scan.service
lib/systemd/system/zfs-import@.service
lib/systemd/system/zfs-import.target
lib/systemd/system/zfs-import.service
lib/systemd/system/zfs-load-key.service
lib/systemd/system/zfs-mount.service
lib/systemd/system/zfs-scrub-monthly@.timer
lib/systemd/system/zfs-scrub-weekly@.timer
lib/systemd/system/zfs-scrub@.service
lib/systemd/system/zfs-share.service
lib/systemd/system/zfs-trim-monthly@.timer
lib/systemd/system/zfs-trim-weekly@.timer
lib/systemd/system/zfs-trim@.service
lib/systemd/system/zfs-volume-wait.service
lib/systemd/system/zfs-volumes.target
lib/systemd/system/zfs.target
lib/systemd/system-generators/zfs-mount-generator
lib/udev/
sbin/fsck.zfs
sbin/mount.zfs
sbin/zdb
sbin/zfs
sbin/zfs_ids_to_path
sbin/zgenhostid
sbin/zhack
sbin/zpool
sbin/zstream
sbin/zstreamdump
usr/bin/zvol_wait
usr/bin/zilstat
usr/lib/modules-load.d/ lib/
usr/lib/zfs-linux/zfs_prepare_disk
usr/lib/zfs-linux/zpool.d/
usr/lib/zfs-linux/zpool_influxdb
usr/sbin/arc_summary
usr/sbin/arcstat
usr/sbin/dbufstat
usr/share/bash-completion/completions
usr/share/man/man8/arcstat.8
usr/share/man/man1/zhack.1
usr/share/man/man1/zvol_wait.1
usr/share/man/man4/zfs.4
usr/share/man/man4/spl.4
usr/share/man/man5/
usr/share/man/man7/vdevprops.7
usr/share/man/man7/zfsconcepts.7
usr/share/man/man7/zfsprops.7
usr/share/man/man7/zpoolconcepts.7
usr/share/man/man7/zpoolprops.7
usr/share/man/man7/zpool-features.7
usr/share/man/man8/fsck.zfs.8
usr/share/man/man8/mount.zfs.8
usr/share/man/man8/vdev_id.8
usr/share/man/man8/zdb.8
usr/share/man/man8/zfs-allow.8
usr/share/man/man8/zfs-bookmark.8
usr/share/man/man8/zfs-change-key.8
usr/share/man/man8/zfs-clone.8
usr/share/man/man8/zfs-create.8
usr/share/man/man8/zfs-destroy.8
usr/share/man/man8/zfs-diff.8
usr/share/man/man8/zfs-get.8
usr/share/man/man8/zfs-groupspace.8
usr/share/man/man8/zfs-hold.8
usr/share/man/man8/zfs-inherit.8
usr/share/man/man8/zfs-list.8
usr/share/man/man8/zfs-load-key.8
usr/share/man/man8/zfs-mount-generator.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-project.8
usr/share/man/man8/zfs-projectspace.8
usr/share/man/man8/zfs-promote.8
usr/share/man/man8/zfs-receive.8
usr/share/man/man8/zfs-recv.8
usr/share/man/man8/zfs-redact.8
usr/share/man/man8/zfs-release.8
usr/share/man/man8/zfs-rename.8
usr/share/man/man8/zfs-rollback.8
usr/share/man/man8/zfs-send.8
usr/share/man/man8/zfs-set.8
usr/share/man/man8/zfs-share.8
usr/share/man/man8/zfs-snapshot.8
usr/share/man/man8/zfs-unallow.8
usr/share/man/man8/zfs-unload-key.8
usr/share/man/man8/zfs-unmount.8
usr/share/man/man8/zfs-unzone.8
usr/share/man/man8/zfs-upgrade.8
usr/share/man/man8/zfs-userspace.8
usr/share/man/man8/zfs-wait.8
usr/share/man/man8/zfs.8
usr/share/man/man8/zfs_ids_to_path.8
usr/share/man/man8/zgenhostid.8
usr/share/man/man8/zpool-add.8
usr/share/man/man8/zpool-attach.8
usr/share/man/man8/zpool-checkpoint.8
usr/share/man/man8/zpool-clear.8
usr/share/man/man8/zpool-create.8
usr/share/man/man8/zpool-destroy.8
usr/share/man/man8/zpool-detach.8
usr/share/man/man8/zpool-events.8
usr/share/man/man8/zpool-export.8
usr/share/man/man8/zpool-get.8
usr/share/man/man8/zpool-history.8
usr/share/man/man8/zpool-import.8
usr/share/man/man8/zpool_influxdb.8
usr/share/man/man8/zpool-initialize.8
usr/share/man/man8/zpool-iostat.8
usr/share/man/man8/zpool-labelclear.8
usr/share/man/man8/zpool-list.8
usr/share/man/man8/zpool-offline.8
usr/share/man/man8/zpool-online.8
usr/share/man/man8/zpool-reguid.8
usr/share/man/man8/zpool-remove.8
usr/share/man/man8/zpool-reopen.8
usr/share/man/man8/zpool-replace.8
usr/share/man/man8/zpool-resilver.8
usr/share/man/man8/zpool-scrub.8
usr/share/man/man8/zpool-set.8
usr/share/man/man8/zpool-split.8
usr/share/man/man8/zpool-status.8
usr/share/man/man8/zpool-sync.8
usr/share/man/man8/zpool-trim.8
usr/share/man/man8/zpool-upgrade.8
usr/share/man/man8/zpool-wait.8
usr/share/man/man8/zfs-zone.8
usr/share/man/man8/zpool.8
usr/share/man/man8/zstream.8
usr/share/man/man8/zstreamdump.8
usr/share/zfs/compatibility.d/

View File

@ -1,3 +0,0 @@
sbin/zfs bin/zfs
sbin/zpool bin/zpool
usr/lib/zfs-linux/zpool_influxdb bin/zpool_influxdb

View File

@ -1,13 +0,0 @@
spare-manual-page
systemd-service-file-refers-to-unusual-wantedby-target
binary-without-manpage *usr/sbin/dbufstat*
binary-without-manpage *usr/sbin/arc_summary*
manpage-has-errors-from-man
appstream-metadata-missing-modalias-provide
command-in-sbin-has-manpage-in-incorrect-section
package-supports-alternative-init-but-no-init.d-script *lib/systemd/system/zfs-import-cache.service*
package-supports-alternative-init-but-no-init.d-script *lib/systemd/system/zfs-import-scan.service*
spelling-error-in-manpage
package-supports-alternative-init-but-no-init.d-script *lib/systemd/system/zfs-volume-wait.service*
systemd-service-file-missing-documentation-key *lib/systemd/system/zfs-volume-wait.service*
extra-license-file *usr/share/doc/zfsutils-linux/LICENSE.gz*

View File

@ -1,19 +0,0 @@
#!/bin/sh
set -e
# The hostname and hostid of the last system to access a ZFS pool are stored in
# the ZFS pool itself. A pool is foreign if, during `zpool import`, the
# current hostname and hostid are different than the stored values thereof.
#
# The only way of having a stable hostid is to define it in /etc/hostid.
# This postinst helper will check if we already have the hostid stabilized by
# checking the existence of the file /etc/hostid to be 4 bytes at least.
# If this file don't already exists on our system or has less than 4 bytes, then
# a new (random) value is generated with zgenhostid (8) and stored in
# /etc/hostid
if [ ! -f /etc/hostid ] || [ "$(stat -c %s /etc/hostid)" -lt 4 ] ; then
zgenhostid
fi
#DEBHELPER#

BIN
pkg-spl.tar.gz Normal file

Binary file not shown.

BIN
pkg-zfs.tar.gz Normal file

Binary file not shown.

82
spl-changelog.Debian Normal file
View File

@ -0,0 +1,82 @@
spl-linux (0.6.5.9-pve8~bpo80) unstable; urgency=medium
* update spl to debian/0.6.5.9-1
-- Proxmox Support Team <support@proxmox.com> Mon, 6 Feb 2017 12:39:35 +0100
spl-linux (0.6.5.8-pve7~bpo80) unstable; urgency=medium
* update spl to debian/0.6.5.8-2
* switch package upstream sources to Debian (Jessie)
-- Proxmox Support Team <support@proxmox.com> Wed, 12 Oct 2016 11:16:02 +0200
spl-linux (0.6.5.7-pve6~bpo80) unstable; urgency=medium
* update pkg-spl to jessie/0.6.5.7-5
* change package versioning to allow upgrades from PVE3/wheezy
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Jun 2016 09:50:00 +0200
spl-linux (0.6.5-pve5~jessie) unstable; urgency=medium
* Update pkg-spl to jessie/0.6.5.6-3
-- Proxmox Support Team <support@proxmox.com> Fri, 15 Apr 2016 11:11:59 +0200
spl-linux (0.6.5-pve4~jessie) unstable; urgency=medium
* update to 0.6.5.6
-- Proxmox Support Team <support@proxmox.com> Wed, 30 Mar 2016 10:49:49 +0200
spl-linux (0.6.5-pve3~jessie) unstable; urgency=medium
* update to 0.6.5.4
-- Proxmox Support Team <support@proxmox.com> Thu, 14 Jan 2016 11:00:40 +0100
spl-linux (0.6.5-pve2~jessie) unstable; urgency=medium
* update to 0.6.5.3
-- Proxmox Support Team <support@proxmox.com> Wed, 04 Nov 2015 17:40:58 +0100
spl-linux (0.6.5-pve1~jessie) unstable; urgency=medium
* update to master/debian/jessie/0.6.5-1
-- Proxmox Support Team <support@proxmox.com> Mon, 21 Sep 2015 10:04:23 +0200
spl-linux (0.6.4-pve3~jessie) unstable; urgency=medium
* update to snapshot/debian/jessie/0.6.4-8-8ac6ff
-- Proxmox Support Team <support@proxmox.com> Mon, 24 Aug 2015 06:14:12 +0200
spl-linux (0.6.4-pve2~jessie) unstable; urgency=medium
* update to 0.6.4.2 (snapshot/debian/jessie/0.6.4-6-37d7cd)
-- Proxmox Support Team <support@proxmox.com> Tue, 21 Jul 2015 11:02:31 +0200
spl-linux (0.6.4-pve1~jessie) unstable; urgency=medium
* update to 0.6.4 (use upstream zol package definitions)
-- Proxmox Support Team <support@proxmox.com> Tue, 14 Apr 2015 10:17:26 +0200
spl-linux (0.6.3-pve1~jessie) unstable; urgency=medium
* recompile for jessie
-- Proxmox Support Team <support@proxmox.com> Sat, 28 Feb 2015 16:03:01 +0100
spl-linux (0.6.3-pve1~wheezy) unstable; urgency=low
* first version for Proxmox VE
-- Proxmox Support Team <support@proxmox.com> Sat, 10 Jan 2015 14:06:34 +0100

View File

@ -0,0 +1,150 @@
From b750abda7a2b24c52a4fba505571a629223ad64e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Wed, 12 Oct 2016 10:57:39 +0200
Subject: [PATCH] remove DKMS and module build
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 | 24 --------------------
debian/rules | 68 +------------------------------------------------------
2 files changed, 1 insertion(+), 91 deletions(-)
diff --git a/debian/control.in b/debian/control.in
index 52c1660..dc6ee96 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -8,40 +8,16 @@ Build-Depends: autogen,
autotools-dev,
debhelper (>= 9),
dh-autoreconf,
- dkms (>> 2.2.0.2-1~),
libtool
Standards-Version: 3.9.8
Homepage: http://www.zfsonlinux.org/
Vcs-Git: git://anonscm.debian.org/pkg-zfsonlinux/spl.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-zfsonlinux/spl.git
-Package: spl-dkms
-Architecture: all
-Depends: dkms (>> 2.2.1.0), file, libc-dev, lsb-release, ${misc:Depends}
-Recommends: spl (>= ${source:Upstream-Version})
-Provides: spl-modules
-Description: Solaris Porting Layer kernel modules for Linux
- 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
- run Solaris kernel code in the Linux kernel with relatively minimal
- modification. The Solaris Porting LAyer Tests (SPLAT) is a Linux kernel
- module which provides a testing harness for the SPL module.
- .
- SPL can be particularly useful when you want to track upstream Illumos
- (or any other OpenSolaris fork) development closely and don't want the
- overhead of maintaining a large patch which converts Solaris primitives
- to Linux primitives.
- .
- This package contains the source code for the SPL and SPLAT Linux kernel
- modules, which can be used with DKMS, so that local kernel modules are
- automatically built and installed every time the kernel packages are
- upgraded.
-
Package: spl
Architecture: linux-any
Conflicts: spl-dev, splat
Depends: ${misc:Depends}, ${shlibs:Depends}
-Recommends: spl-modules | spl-dkms
Description: Solaris Porting Layer user-space utilities for Linux
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
diff --git a/debian/rules b/debian/rules
index b2fc86c..a474ca4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,12 +14,8 @@ ifndef KVERS
KVERS=$(shell uname -r)
endif
-non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
-PACKAGE=spl
-pmodules = $(PACKAGE)-modules-$(non_epoch_version)
-
%:
- dh $@ --with dkms,autoreconf --parallel
+ dh $@ --with autoreconf --parallel
override_dh_auto_configure:
@cp debian/control.in debian/control
@@ -45,69 +41,7 @@ override_dh_auto_install:
@# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree.
$(MAKE) distdir
- @# This shunt allows DKMS to install the Module.symvers and spl_config.h
- @# files to the ${dkms_tree} area through the POST_INSTALL directive.
- echo '#!/bin/sh' >'$(CURDIR)/$(NAME)-$(VERSION)/cp'
- echo 'cp "$$@"' >>'$(CURDIR)/$(NAME)-$(VERSION)/cp'
- chmod 755 '$(CURDIR)/$(NAME)-$(VERSION)/cp'
-
- # Install the DKMS source.
- mkdir -p '$(CURDIR)/debian/tmp/usr/src/'
- mv '$(CURDIR)/$(NAME)-$(VERSION)' '$(CURDIR)/debian/tmp/usr/src/'
-
-override_dh_dkms:
- dh_dkms -V $(VERSION)
-
override_dh_auto_clean:
dh_auto_clean
@if test -e META.orig; then mv META.orig META; fi
cp debian/control.in debian/control
-
-# ------------
-
-override_dh_prep-deb-files:
- for templ in $(wildcard $(CURDIR)/debian/*_KVERS_*.in); do \
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g' \
- < $$templ > `echo $$templ | sed -e 's/_KVERS_/$(KVERS)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g ; s/\.in$$//'` ; \
- done
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g' \
- < debian/control.modules.in > debian/control
-
-override_dh_configure_modules: override_dh_configure_modules_stamp
-override_dh_configure_modules_stamp:
- ./configure --with-config=kernel --with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ) \
- --disable-debug-kmem
- touch override_dh_configure_modules_stamp
-
-override_dh_binary-modules-udeb: override_dh_prep-deb-files override_dh_configure_modules
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_installdirs -p${pmodules}-di
- dh_install -p${pmodules}-di
- dh_gencontrol -p${pmodules}-di
-
- dh_builddeb -p${pmodules}-di
-
-override_dh_binary-modules: override_dh_prep-deb-files override_dh_configure_modules
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_installdocs -p${pmodules}
- dh_install -p${pmodules}
- dh_installchangelogs -p${pmodules}
- dh_compress -p${pmodules}
- dh_strip -p${pmodules}
- dh_fixperms -p${pmodules}
- dh_installdeb -p${pmodules}
- dh_gencontrol -p${pmodules}
- dh_md5sums -p${pmodules}
-
- dh_builddeb -p${pmodules}
--
2.1.4

1
spl-patches/series Normal file
View File

@ -0,0 +1 @@
fix-control.patch

@ -1 +0,0 @@
Subproject commit 2566592045780e7be7afc899c2496b1ae3af4f4d

151
zfs-changelog.Debian Normal file
View File

@ -0,0 +1,151 @@
zfs-linux (0.6.5.9-pve15~bpo80) unstable; urgency=medium
* update zfs to debian/0.6.5.9-1
-- Proxmox Support Team <support@proxmox.com> Mon, 6 Feb 2017 12:39:10 +0100
zfs-linux (0.6.5.8-pve14~bpo80) unstable; urgency=medium
* update zfs to debian/0.6.5.8-3
-- Proxmox Support Team <support@proxmox.com> Wed, 11 Jan 2017 09:34:58 +0100
zfs-linux (0.6.5.8-pve13~bpo80) unstable; urgency=medium
* fix #1184: zfs-share.service has wrong path to 'rm' command
-- Proxmox Support Team <support@proxmox.com> Thu, 27 Oct 2016 11:25:47 +0200
zfs-linux (0.6.5.8-pve12~bpo80) unstable; urgency=medium
* import with "-d /dev/disk/by-id" in systemd service
-- Proxmox Support Team <support@proxmox.com> Mon, 24 Oct 2016 13:48:08 +0200
zfs-linux (0.6.5.8-pve11~bpo80) unstable; urgency=medium
* update zfs to debian/0.6.5.8-1
* switch package upstream sources to Debian (Jessie)
* add transitional packages for upgrades
-- Proxmox Support Team <support@proxmox.com> Wed, 12 Oct 2016 11:16:02 +0200
zfs-linux (0.6.5.7-pve10~bpo80) unstable; urgency=medium
* update to pkg-zfs jessie/0.6.5.7-8
* change package versioning to allow upgrades from PVE3/wheezy
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Jun 2016 09:50:00 +0200
zfs-linux (0.6.5-pve9~jessie) unstable; urgency=medium
* Update to pkg-zfs jessie/0.6.5.6-3
-- Proxmox Support Team <support@proxmox.com> Tue, 12 Apr 2016 09:51:35 +0200
zfs-linux (0.6.5-pve8~jessie) unstable; urgency=medium
* update to zfs-0.6.5.6
-- Proxmox Support Team <support@proxmox.com> Wed, 30 Mar 2016 10:50:22 +0200
zfs-linux (0.6.5-pve7~jessie) unstable; urgency=medium
* update to zfs-0.6.5.4
-- Proxmox Support Team <support@proxmox.com> Thu, 14 Jan 2016 10:51:17 +0100
zfs-linux (0.6.5-pve6~jessie) unstable; urgency=medium
* Prepare to tag zfs-0.6.5.3
-- Proxmox Support Team <support@proxmox.com> Thu, 05 Nov 2015 07:21:44 +0100
zfs-linux (0.6.5-pve5~jessie) unstable; urgency=medium
* Illumos 6267 - dn_bonus evicted too early
* Fix use-after-free in vdev_disk_physio_completion
-- Proxmox Support Team <support@proxmox.com> Wed, 04 Nov 2015 17:42:42 +0100
zfs-linux (0.6.5-pve4~jessie) unstable; urgency=medium
* update to master/debian/jessie/0.6.5.2-2
-- Proxmox Support Team <support@proxmox.com> Mon, 05 Oct 2015 17:56:45 +0200
zfs-linux (0.6.5-pve3~jessie) unstable; urgency=medium
* do not install /etc/init.d/zfs-zed script to avoid double startup
with systemd
-- Proxmox Support Team <support@proxmox.com> Mon, 28 Sep 2015 10:14:40 +0200
zfs-linux (0.6.5-pve2~jessie) unstable; urgency=medium
* update to master/debian/jessie/0.6.5.1-4
-- Proxmox Support Team <support@proxmox.com> Thu, 24 Sep 2015 12:45:33 +0200
zfs-linux (0.6.5-pve1~jessie) unstable; urgency=medium
* update to master/debian/jessie/0.6.5.1-2
-- Proxmox Support Team <support@proxmox.com> Mon, 21 Sep 2015 10:02:41 +0200
zfs-linux (0.6.4-pve3~jessie) unstable; urgency=medium
* update to snapshot/debian/jessie/0.6.4-24-6bec43
-- Proxmox Support Team <support@proxmox.com> Mon, 24 Aug 2015 06:13:44 +0200
zfs-linux (0.6.4-pve2~jessie) unstable; urgency=medium
* update to 0.6.4.2 (snapshot/debian/jessie/0.6.4-21-53b1d9)
-- Proxmox Support Team <support@proxmox.com> Tue, 21 Jul 2015 11:03:21 +0200
zfs-linux (0.6.4-pve1~jessie) unstable; urgency=medium
* update to 0.6.4 (use upstream zol package definitions)
-- Proxmox Support Team <support@proxmox.com> Tue, 14 Apr 2015 10:19:22 +0200
zfs-linux (0.6.3-pve3~jessie) unstable; urgency=medium
* ignore zfs-import-scan errors
-- Proxmox Support Team <support@proxmox.com> Tue, 31 Mar 2015 17:52:40 +0200
zfs-linux (0.6.3-pve2~jessie) unstable; urgency=medium
* use systemd for service startup
* install zed configuration file /etc/zfs/zed.d/zed.rc
-- Proxmox Support Team <support@proxmox.com> Sun, 15 Mar 2015 15:52:54 +0100
zfs-linux (0.6.3-pve1~jessie) unstable; urgency=medium
* recompile on jessie
-- Proxmox Support Team <support@proxmox.com> Sat, 28 Feb 2015 16:02:08 +0100
zfs-linux (0.6.3-2~wheezy) unstable; urgency=low
* use /sbin/modprobe to avoid warning inside initrd
* fix warning about undefined values inside initrd
-- Proxmox Support Team <support@proxmox.com> Wed, 14 Jan 2015 19:03:04 +0100
zfs-linux (0.6.3-1~wheezy) unstable; urgency=low
* first version for Proxmox VE
-- Proxmox Support Team <support@proxmox.com> Sat, 10 Jan 2015 14:06:34 +0100

View File

@ -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

View File

@ -0,0 +1,242 @@
From 0e7871b8878f78fd2c8c73a50cbf805b39afb4e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Mon, 6 Feb 2017 11:03:10 +0100
Subject: [PATCH 2/6] remove DKMS, modules and dracut build
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 | 34 +++---------------
debian/rules | 105 ++----------------------------------------------------
2 files changed, 6 insertions(+), 133 deletions(-)
diff --git a/debian/control.in b/debian/control.in
index db75496..22dd958 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -9,7 +9,6 @@ Build-Depends: dh-autoreconf,
dh-systemd,
autotools-dev,
debhelper (>= 9),
- dkms (>> 2.1.1.2-5),
libselinux1-dev,
libtool,
lsb-release,
@@ -85,25 +84,11 @@ Description: OpenZFS pool library for Linux
.
This zpool library provides support for managing zpools.
-Package: zfs-dkms
-Architecture: all
-Pre-Depends: spl-dkms (>= ${source:Upstream-Version})
-Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}
-Recommends: zfsutils-linux, zfs-zed
-Provides: zfs-modules
-Description: OpenZFS filesystem kernel modules for Linux
- The Z file system is a pooled filesystem designed for maximum data
- integrity, supporting data snapshots, multiple copies, and data
- checksums.
- .
- This DKMS package includes the SPA, DMU, ZVOL, and ZPL components of
- OpenZFS.
-
Package: zfs-initramfs
Architecture: all
Depends: initramfs-tools,
busybox-initramfs | busybox-static | busybox,
- zfs-modules | zfs-dkms, zfsutils-linux,
+ zfsutils-linux,
${misc:Depends}
Description: OpenZFS root filesystem capabilities for Linux - initramfs
The Z file system is a pooled filesystem designed for maximum data
@@ -113,23 +98,12 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
This package adds OpenZFS to the system initramfs with a hook
for the initramfs-tools infrastructure.
-Package: zfs-dracut
-Architecture: all
-Depends: dracut, zfs-modules | zfs-dkms, zfsutils-linux, ${misc:Depends}
-Description: OpenZFS root filesystem capabilities for Linux - dracut
- The Z file system is a pooled filesystem designed for maximum data
- integrity, supporting data snapshots, multiple copies, and data
- checksums.
- .
- This package adds OpenZFS to the system initramfs with a hook
- for the dracut infrastructure.
-
Package: zfsutils-linux
Section: contrib/admin
Architecture: linux-any
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
+Recommends: lsb-base, zfs-zed
+Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs
Conflicts: zfs, zfs-fuse, zutils
Provides: zfsutils
Description: command-line tools to manage OpenZFS filesystems
@@ -143,7 +117,7 @@ Description: command-line tools to manage OpenZFS filesystems
Package: zfs-zed
Section: contrib/admin
Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux
+Depends: ${misc:Depends}, ${shlibs:Depends}, zfsutils-linux
Description: OpenZFS Event Daemon
The Z file system is a pooled filesystem designed for maximum data
integrity, supporting data snapshots, multiple copies, and data
diff --git a/debian/rules b/debian/rules
index 70e57e5..0c8a6a2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,9 +5,6 @@ NAME := $(shell awk '$$1 == "Name:" { print $$2; }' META)
VERSION := $(shell dpkg-parsechangelog \
| awk '$$1 == "Version:" { print $$2; }' | cut -d- -f1)
-DKMSFILES := module include config zfs.release.in autogen.sh META AUTHORS \
- DISCLAIMER COPYRIGHT OPENSOLARIS.LICENSE README.markdown
-
ifndef BUILD_UDEB
BUILD_UDEB=false
endif
@@ -21,21 +18,16 @@ KVERS=$(shell uname -r)
endif
ifndef SPL
-SPL=/usr/src/spl-$(VERSION)
-endif
-
-ifndef SPLOBJ
-SPLOBJ=/var/lib/dkms/spl/$(VERSION)/$(KVERS)/$(shell dpkg-architecture -qDEB_TARGET_GNU_CPU)
+SPL=../pkg-spl
endif
non_epoch_version=$(shell echo $(KVERS) | perl -pe 's/^\d+://')
PACKAGE=zfs
-pmodules = $(PACKAGE)-modules-$(non_epoch_version)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
- dh $@ --with autoreconf,dkms,python2,systemd --parallel
+ dh $@ --with autoreconf,python2,systemd --parallel
override_dh_auto_configure:
@cp debian/control.in debian/control
@@ -74,36 +66,6 @@ override_dh_auto_install:
$(INSTALL) -d '$(CURDIR)/debian/tmp/usr/sbin/'
mv '$(CURDIR)/debian/tmp/sbin/zed' '$(CURDIR)/debian/tmp/usr/sbin/zed'
- @# Get a bare copy of the source code for DKMS.
- @# This creates the $(CURDIR)/$(NAME)-$(VERSION)/ tree, which does not
- @# contain the userland sources. NB: Remove-userland-dist-rules.patch
- $(MAKE) distdir
-
- @# Install the DKMS source.
- @# We only want the files needed to build the modules
- mkdir -p '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'
- $(foreach file,$(DKMSFILES),mv '$(CURDIR)/$(NAME)-$(VERSION)/$(file)' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)' || exit 1;)
- @# Hellish awk line:
- @# * Deletes from configure.ac the parts not needed for building the kernel module
- @# * It deletes from inside AC_CONFIG_FILES([]) everything except:
- @# (Makefile$|include/|module/|*.release$)
- @# * 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}' \
- '$(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.
- sed '1,/CONFIG_KERNEL/s/SUBDIRS.*=.*//g;s/SUBDIRS.*=.*/SUBDIRS = module include/g;' \
- '$(CURDIR)/$(NAME)-$(VERSION)/Makefile.am' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am'
- @# Sanity test
- grep -q 'SUBDIRS = module include' '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/Makefile.am'
- @# Run autogen on the stripped source tree
- cd '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)'; ./autogen.sh
- rm -fr '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/autom4te.cache'
-
- @# This shunt allows DKMS to install the Module.symvers and zfs_config.h
- @# files to the ${dkms_tree} area through the POST_INSTALL directive.
- printf '#!/bin/sh\ncp "$$@"\n' > '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
- chmod 755 '$(CURDIR)/debian/tmp/usr/src/$(NAME)-$(VERSION)/cp'
-
mkdir -p $(CURDIR)/debian/tmp/usr/lib
for i in `ls $(CURDIR)/debian/tmp/lib/*.so`; do \
ln -s /lib/`readlink $${i}` $(CURDIR)/debian/tmp/usr/lib/`basename $${i}`; \
@@ -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/default/zfs
-override_dh_dkms:
- dh_dkms -V $(VERSION)
-
override_dh_makeshlibs:
dh_makeshlibs -a
ifeq ($(BUILD_UDEB), true)
@@ -153,65 +112,5 @@ override_dh_install:
# ------------
-override_dh_prep-deb-files:
- for templ in $(wildcard $(CURDIR)/debian/*_KVERS_*.in); do \
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/' \
- < $$templ > `echo $$templ | sed -e 's/_KVERS_/$(KVERS)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g ; s/\.in$$//'` ; \
- done
- sed -e 's/##KVERS##/$(KVERS)/g ; s/#KVERS#/$(KVERS)/g ; s/_KVERS_/$(KVERS)/g ; s/##KDREV##/$(KDREV)/g ; s/#KDREV#/$(KDREV)/g ; s/_KDREV_/$(KDREV)/g ; s/_ARCH_/$(DEB_HOST_ARCH)/g' \
- < debian/control.modules.in > debian/control
-
-override_dh_configure_modules_udeb: override_dh_configure_modules_udeb_stamp
-override_dh_configure_modules_udeb_stamp:
- ./configure \
- --without-selinux \
- --with-config=kernel \
- --with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ) \
- --with-spl=$(SPL) \
- --with-spl-obj=$(SPLOBJ)
- touch override_dh_configure_modules_udeb_stamp
-
-override_dh_configure_modules: override_dh_configure_modules_stamp
-override_dh_configure_modules_stamp:
- ./configure \
- --with-config=kernel \
- --with-linux=$(KSRC) \
- --with-linux-obj=$(KOBJ) \
- --with-spl=$(SPL) \
- --with-spl-obj=$(SPLOBJ)
- touch override_dh_configure_modules_stamp
-
-override_dh_binary-modules-udeb: override_dh_prep-deb-files override_dh_configure_modules_udeb
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_installdirs -p${pmodules}-di
- dh_install -p${pmodules}-di
- dh_gencontrol -p${pmodules}-di
-
- dh_builddeb -p${pmodules}-di
-
-override_dh_binary-modules: override_dh_prep-deb-files override_dh_configure_modules
- dh_testdir
- dh_testroot
- dh_prep
-
- $(MAKE) -C $(CURDIR)/module modules
-
- dh_install -p${pmodules}
- dh_installdocs -p${pmodules}
- dh_installchangelogs -p${pmodules}
- dh_compress -p${pmodules}
- dh_strip -p${pmodules}
- dh_fixperms -p${pmodules}
- dh_installdeb -p${pmodules}
- dh_gencontrol -p${pmodules}
- dh_md5sums -p${pmodules}
- dh_builddeb -p${pmodules}
-
debian-copyright:
cme update dpkg-copyright -file debian/copyright.cme
--
2.1.4

View File

@ -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

View File

@ -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

View File

@ -1,28 +1,29 @@
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>
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
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
etc/systemd/system/zfs-import-scan.service.in | 2 +-
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
index c5dd45d87..1c792edf0 100644
index 0105283..665b9c8 100644
--- a/etc/systemd/system/zfs-import-scan.service.in
+++ b/etc/systemd/system/zfs-import-scan.service.in
@@ -14,7 +14,7 @@ ConditionPathIsDirectory=/sys/module/zfs
@@ -10,7 +10,7 @@ ConditionPathExists=!@sysconfdir@/zfs/zpool.cache
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=-@initconfdir@/zfs
-ExecStart=@sbindir@/zpool import -aN -o cachefile=none $ZPOOL_IMPORT_OPTS
+ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none $ZPOOL_IMPORT_OPTS
ExecStartPre=/sbin/modprobe zfs
-ExecStart=@sbindir@/zpool import -aN -o cachefile=none
+ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none
[Install]
WantedBy=zfs-import.target
WantedBy=zfs-mount.service
--
2.1.4

View File

@ -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
zfs-patches/series Normal file
View File

@ -0,0 +1,6 @@
0001-Undo-python-changes-until-PVE-5.0-release.patch
0002-remove-DKMS-modules-and-dracut-build.patch
0003-add-zfsutils.preinst-postinst-for-wheezy-upgrade-pat.patch
0004-ensure-upgrade-path-from-existing-PVE-ZFS-packages.patch
0005-import-with-d-dev-disk-by-id-in-scan-service.patch
0006-fix-rm-path-in-zfs-share.service.patch