30 Commits

Author SHA1 Message Date
Thomas Lamprecht 69255727d0 bump version to 0.8.1-pve3
only to mark the patched kernel module with a new version,
user space tools and packages where not changed.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-27 14:41:30 +02:00
Thomas Lamprecht 457c4458a2 [SIMD]: FPU register save/restore is also required on 5.0 kernels~
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-09-27 14:34:14 +02:00
Thomas Lamprecht 9cad433df9 bump version to 0.8.1-pve2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-08-20 17:10:24 +02:00
Fabian Grünbichler d1002ffe2c drop no longer needed build-dependencies
see https://github.com/zfsonlinux/zfs/issues/9036

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-08-12 16:58:23 +02:00
Fabian Grünbichler f43dbfa752 cherry-pick SIMD compat patches
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-08-12 16:58:23 +02:00
Fabian Grünbichler ee9e6a91e5 cherry-pick parallel mount fix
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-08-12 16:58:23 +02:00
Thomas Lamprecht a14f5e761c bump version to 0.8.1-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-14 20:43:36 +02:00
Thomas Lamprecht 79736c677e update patches for zfs-0.8.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-14 20:42:29 +02:00
Thomas Lamprecht 7ef1f901d7 update submodule to zfs-0.8.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-14 20:36:48 +02:00
Thomas Lamprecht f3e3232bf4 bump version to 0.8.0-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-24 13:05:43 +02:00
Thomas Lamprecht 49538a61c8 d/control: fix priority-extra-is-replaced-by-priority-optional
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-24 13:05:43 +02:00
Thomas Lamprecht 63bd3935c7 ensure submodule gets initialized on fresh clone and build
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-24 13:05:43 +02:00
Thomas Lamprecht ae14379f41 d/control: remove dependencies detected by useless-autoreconf-build-depends
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-24 13:05:43 +02:00
Thomas Lamprecht 13d410f1ab buildsys: remove cruft and reoder var definition before use
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-24 12:35:21 +02:00
Stoiko Ivanov 886e4c966e Move zfs to top-level directory
With the merge of spl and zfs the extra level of directories is not needed
anymore.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 12:02:52 +02:00
Stoiko Ivanov 9e02600b0c add 3 patches for lintian errors
* wrong-path-for-interpreter is a lintian error, one single zfs-test used
/usr/bin/ksh instead of /bin/ksh.
* python-script-but-no-python-dep was reported because test-runner.py had
/usr/bin/python as shebang, but the buildsystem and our dependencies expected
/usr/bin/python3
* executable-not-elf-or-script were results of some files being installed with
the wrong permissions

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 12:02:46 +02:00
Stoiko Ivanov da2c3b42fa debian/control: set zfs-dbg priority to extra
in order to appease lintian

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 12:02:41 +02:00
Thomas Lamprecht 402acca54f spl: remove submodule and debian folder
Co-authored-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-24 12:02:02 +02:00
Stoiko Ivanov 146da5ad07 debian/docs: change OPENSOLARIS.LICENSE to LICENSE
taken from debian upstream [0]

[0] https://salsa.debian.org/zfsonlinux-team/zfs/

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:42 +02:00
Stoiko Ivanov 92886af5c5 add python3-pyzfs binary package
taken from debian upstream [0]

[0] https://salsa.debian.org/zfsonlinux-team/zfs/

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov 512fb2e4a9 zfs/control: add spl as transitional dummy package
since splat has been removed from zfs (during the repository merge of zfs and
spl, the userspace spl package does not contain any files (apart from metafiles)

keep the package as metapackage, s.t. the old splat manpage and binary gets
removed upon upgrade.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov 5b9cd1ad57 zfsutils-linux: persist hostid in postinst script
/etc/hostid does not exist on a minimal debian system.
ZFS reads its contents for MMP (zpool property multihost set to on), and needs
the value to be stable.
Before the SPL->ZFS merge the spl userspace package wrote the file (by parsing/
mangling the output of hostid (1)) Since ZFS provides the zgenhostid script,
which creates a random 4 byte hostid and writes it to /etc/hostid, we use that
instead. (hostid (1) default to mangling a configured ip of the system, which
can be the same across multiple installs (install happens with the same ip)

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov 4114f700a9 debian/rules: adapt to ZFS 0.8
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov d551e00492 debian: adapt install paths to ZFS 0.8
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov 5dccc94923 zfs/debian: embed downstream revision in META file
taken from spl/debian/rules
Additionally refactor the actual change into a separate target.
This is needed when building the kernel-modules from an rc-tag (e.g. 0.8.0-rc5)

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov e4f11a69e8 rebase patches on top of zfs-0.8.0
rebase done with export-patchqueue and adapted to new 0.8 release

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov d56eab879e debian: replace zpool.d patch by configure option
the --with-zfsexecdir configure option is available in ZFS 0.8 and replaces
the patch for cmd/zpool/Makefile.am

(cherry-picked from salsa.d.o e1af594a0970e2b84c922f483e6798e7d155b7b7)

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Stoiko Ivanov 58608b5f2e update ZFS to 0.8.0
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-24 11:44:34 +02:00
Thomas Lamprecht 8c9433c855 buildsys: switch upload dist over to buster
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-24 11:14:08 +02:00
Thomas Lamprecht 88b4c00190 bump version to 0.7.13-pve2~bpo2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-05-21 20:09:12 +02:00
81 changed files with 2173 additions and 1052 deletions
+1 -4
View File
@@ -1,6 +1,3 @@
[submodule "zfs/upstream"]
path = zfs/upstream
path = upstream
url = ../mirror_zfs
[submodule "spl/upstream"]
path = spl/upstream
url = ../mirror_spl
+11 -43
View File
@@ -1,22 +1,10 @@
RELEASE=5.1
# source form https://github.com/zfsonlinux/
SPLDIR=spl-linux_${ZFSVER}
SPLSRC=spl/upstream
SPLPKG=spl/debian
ZFSDIR=zfs-linux_${ZFSVER}
ZFSSRC=zfs/upstream
ZFSPKG=zfs/debian
ZFSPKG=debian
ZFSVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion | cut -d- -f1
ZFSPKGVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion
SPLPKGVER != dpkg-parsechangelog -l ${SPLPKG}/changelog -Sversion
SPL_DEB = \
spl_${SPLPKGVER}_amd64.deb
SPL_DSC = spl-linux_${SPLPKGVER}.dsc
ZFSDIR=zfs-linux_${ZFSVER}
ZFSSRC=upstream
ZFS_DEB1= libnvpair1linux_${ZFSPKGVER}_amd64.deb
ZFS_DEB2= \
@@ -32,20 +20,17 @@ zfsutils-linux_${ZFSPKGVER}_amd64.deb
ZFS_DEBS= $(ZFS_DEB1) $(ZFS_DEB2)
ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
DEBS=${SPL_DEB} ${ZFS_DEBS}
DSCS=${SPL_DSC} ${ZFS_DSC}
all: deb
.PHONY: deb
deb: ${DEBS}
deb: ${ZFS_DEBS}
.PHONY: dsc
dsc: ${DSCS}
dsc: ${ZFS_DSC}
# called from pve-kernel's Makefile to get patched sources
.PHONY: kernel
kernel: dsc
dpkg-source -x ${SPL_DSC} ../pkg-spl
dpkg-source -x ${ZFS_DSC} ../pkg-zfs
$(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file
.PHONY: dinstall
dinstall: ${DEBS}
@@ -53,25 +38,8 @@ dinstall: ${DEBS}
.PHONY: submodule
submodule:
test -f "${ZFSSRC}/README.markdown" || git submodule update --init
test -f "${SPLSRC}/README.markdown" || git submodule update --init
.PHONY: spl
spl: ${SPL_DEB}
${SPL_DEB}: ${SPLDIR}
cd ${SPLDIR}; dpkg-buildpackage -b -uc -us
lintian ${SPL_DEB}
${SPL_DSC}: ${SPLDIR}
tar czf spl-linux_${ZFSVER}.orig.tar.gz ${SPLDIR}
cd ${SPLDIR}; dpkg-buildpackage -S -uc -us -d
lintian $@
${SPLDIR}: ${SPLSRC} ${SPLPKG}
rm -rf ${SPLDIR}
mkdir ${SPLDIR}
cp -a ${SPLSRC}/* ${SPLDIR}/
cp -a ${SPLPKG} ${SPLDIR}/debian
test -f "$(ZFSSRC)/README.md" || git submodule update --init
$(ZFSSRC)/README.md: submodule
.PHONY: zfs
zfs: $(ZFS_DEBS)
@@ -85,7 +53,7 @@ ${ZFS_DSC}: ${ZFSDIR}
cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
lintian $@
${ZFSDIR}: $(ZFSSRC) ${ZFSPKG}
${ZFSDIR}: $(ZFSSRC)/README.md $(ZFSSRC) ${ZFSPKG}
rm -rf ${ZFSDIR}
mkdir ${ZFSDIR}
cp -a ${ZFSSRC}/* ${ZFSDIR}/
@@ -94,11 +62,11 @@ ${ZFSDIR}: $(ZFSSRC) ${ZFSPKG}
.PHONY: clean
clean:
rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR} ${SPLDIR}
rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR}
.PHONY: distclean
distclean: clean
.PHONY: upload
upload: ${DEBS}
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist stretch --arch amd64
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist buster --arch amd64
+42
View File
@@ -1,3 +1,45 @@
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)
View File
+73 -8
View File
@@ -2,20 +2,20 @@ Source: zfs-linux
Section: contrib/kernel
Priority: optional
Maintainer: Proxmox Support Team <support@proxmox.com>
Build-Depends: autotools-dev,
debhelper (>= 10~),
dh-autoreconf,
Build-Depends: debhelper (>= 10~),
dh-python,
libattr1-dev,
libblkid-dev,
libselinux1-dev,
libssl-dev | libssl1.0-dev,
libtool,
lsb-release,
python3,
python3-cffi,
python3-setuptools,
python3-sphinx,
python3-all-dev,
uuid-dev,
zlib1g-dev
Standards-Version: 4.1.2
Homepage: http://www.zfsonlinux.org/
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
@@ -89,6 +89,51 @@ Description: OpenZFS pool library for Linux
.
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},
${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,
@@ -146,7 +191,8 @@ Depends: acl,
lsscsi,
mdadm,
parted,
python,
python3,
python3-pyzfs,
sudo,
sysstat,
zfsutils-linux (>=${binary:Version}),
@@ -182,3 +228,22 @@ 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.
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.
View File
+1 -1
View File
@@ -154,7 +154,7 @@ Copyright: 2010, 2013, Aneurin Price <aneurin.price@gmail.com>
License: Expat
Files: debian/rules
Copyright: OPENSOLARIS.LICENSE README.markdown
Copyright: LICENSE README.markdown
License: UNKNOWN
Please fill license UNKNOWN from header of debian/rules
+2
View File
@@ -0,0 +1,2 @@
COPYRIGHT
LICENSE
+2
View File
@@ -0,0 +1,2 @@
COPYRIGHT
LICENSE
+2
View File
@@ -0,0 +1,2 @@
COPYRIGHT
LICENSE
+2
View File
@@ -0,0 +1,2 @@
COPYRIGHT
LICENSE
+2
View File
@@ -0,0 +1,2 @@
COPYRIGHT
LICENSE
View File
@@ -9,7 +9,7 @@ Subject: [PATCH] Check-for-META-and-DCH-consistency-in-autoconf
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4
index 3e1429d99..b8e26c492 100644
index aa0fc1420..f525e2010 100644
--- a/config/zfs-meta.m4
+++ b/config/zfs-meta.m4
@@ -1,9 +1,10 @@
@@ -35,7 +35,7 @@ index 3e1429d99..b8e26c492 100644
ZFS_META_NAME=_ZFS_AC_META_GETVAL([(Name|Project|Package)]);
if test -n "$ZFS_META_NAME"; then
@@ -66,8 +68,30 @@ AC_DEFUN([ZFS_AC_META], [
@@ -69,8 +71,30 @@ AC_DEFUN([ZFS_AC_META], [
AC_SUBST([ZFS_META_VERSION])
fi
@@ -11,11 +11,11 @@ they ship their own zfs-zed unit.
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 e3dec3dca..0b85f169a 100644
index f4313625e..444e776fd 100644
--- a/etc/systemd/system/zfs-zed.service.in
+++ b/etc/systemd/system/zfs-zed.service.in
@@ -5,7 +5,7 @@ After=zfs-import-cache.service
After=zfs-import-scan.service
@@ -3,7 +3,7 @@ Description=ZFS Event Daemon (zed)
Documentation=man:zed(8)
[Service]
-ExecStart=@sbindir@/zed -F
@@ -61,10 +61,10 @@ Signed-off-by: Colin Ian King <colin.king@canonical.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c
index 9703f844f..0cfcf9c2f 100644
index 19bb57ad4..2a069ffe6 100644
--- a/lib/libzfs/libzfs_util.c
+++ b/lib/libzfs/libzfs_util.c
@@ -1355,7 +1355,7 @@ int
@@ -1134,7 +1134,7 @@ int
zcmd_alloc_dst_nvlist(libzfs_handle_t *hdl, zfs_cmd_t *zc, size_t len)
{
if (len == 0)
@@ -13,10 +13,10 @@ Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
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 e7b1d8862..060540f63 100644
index 4aae9f06e..ec5c45e63 100644
--- a/etc/systemd/system/zfs-import-scan.service.in
+++ b/etc/systemd/system/zfs-import-scan.service.in
@@ -12,7 +12,7 @@ ConditionPathExists=!@sysconfdir@/zfs/zpool.cache
@@ -11,7 +11,7 @@ ConditionPathExists=!@sysconfdir@/zfs/zpool.cache
[Service]
Type=oneshot
RemainAfterExit=yes
@@ -11,7 +11,7 @@ behavior of mdadm.
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
index 35a4d1275..c6c106b06 100644
index 0ef706849..50632bfcb 100644
--- a/cmd/zed/zed.d/zed.rc
+++ b/cmd/zed/zed.d/zed.rc
@@ -15,7 +15,7 @@
@@ -0,0 +1,244 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Date: Wed, 10 Jul 2019 01:31:46 +0900
Subject: [PATCH] Fix race in parallel mount's thread dispatching algorithm
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Strategy of parallel mount is as follows.
1) Initial thread dispatching is to select sets of mount points that
don't have dependencies on other sets, hence threads can/should run
lock-less and shouldn't race with other threads for other sets. Each
thread dispatched corresponds to top level directory which may or may
not have datasets to be mounted on sub directories.
2) Subsequent recursive thread dispatching for each thread from 1)
is to mount datasets for each set of mount points. The mount points
within each set have dependencies (i.e. child directories), so child
directories are processed only after parent directory completes.
The problem is that the initial thread dispatching in
zfs_foreach_mountpoint() can be multi-threaded when it needs to be
single-threaded, and this puts threads under race condition. This race
appeared as mount/unmount issues on ZoL for ZoL having different
timing regarding mount(2) execution due to fork(2)/exec(2) of mount(8).
`zfs unmount -a` which expects proper mount order can't unmount if the
mounts were reordered by the race condition.
There are currently two known patterns of input list `handles` in
`zfs_foreach_mountpoint(..,handles,..)` which cause the race condition.
1) #8833 case where input is `/a /a /a/b` after sorting.
The problem is that libzfs_path_contains() can't correctly handle an
input list with two same top level directories.
There is a race between two POSIX threads A and B,
* ThreadA for "/a" for test1 and "/a/b"
* ThreadB for "/a" for test0/a
and in case of #8833, ThreadA won the race. Two threads were created
because "/a" wasn't considered as `"/a" contains "/a"`.
2) #8450 case where input is `/ /var/data /var/data/test` after sorting.
The problem is that libzfs_path_contains() can't correctly handle an
input list containing "/".
There is a race between two POSIX threads A and B,
* ThreadA for "/" and "/var/data/test"
* ThreadB for "/var/data"
and in case of #8450, ThreadA won the race. Two threads were created
because "/var/data" wasn't considered as `"/" contains "/var/data"`.
In other words, if there is (at least one) "/" in the input list,
the initial thread dispatching must be single-threaded since every
directory is a child of "/", meaning they all directly or indirectly
depend on "/".
In both cases, the first non_descendant_idx() call fails to correctly
determine "path1-contains-path2", and as a result the initial thread
dispatching creates another thread when it needs to be single-threaded.
Fix a conditional in libzfs_path_contains() to consider above two.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Sebastien Roy <sebastien.roy@delphix.com>
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Closes #8450
Closes #8833
Closes #8878
(cherry picked from commit ab5036df1ccbe1b18c1ce6160b5829e8039d94ce)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
.../functional/cli_root/zfs_mount/Makefile.am | 1 +
lib/libzfs/libzfs_mount.c | 6 +-
tests/runfiles/linux.run | 3 +-
.../cli_root/zfs_mount/zfs_mount_test_race.sh | 116 ++++++++++++++++++
4 files changed, 123 insertions(+), 3 deletions(-)
create mode 100755 tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.sh
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am
index b2de98934..c208a1c37 100644
--- a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/Makefile.am
@@ -19,6 +19,7 @@ dist_pkgdata_SCRIPTS = \
zfs_mount_all_mountpoints.ksh \
zfs_mount_encrypted.ksh \
zfs_mount_remount.ksh \
+ zfs_mount_test_race.sh \
zfs_multi_mount.ksh
dist_pkgdata_DATA = \
diff --git a/lib/libzfs/libzfs_mount.c b/lib/libzfs/libzfs_mount.c
index 649c232aa..d62801cfd 100644
--- a/lib/libzfs/libzfs_mount.c
+++ b/lib/libzfs/libzfs_mount.c
@@ -1302,12 +1302,14 @@ mountpoint_cmp(const void *arga, const void *argb)
}
/*
- * Return true if path2 is a child of path1.
+ * Return true if path2 is a child of path1 or path2 equals path1 or
+ * path1 is "/" (path2 is always a child of "/").
*/
static boolean_t
libzfs_path_contains(const char *path1, const char *path2)
{
- return (strstr(path2, path1) == path2 && path2[strlen(path1)] == '/');
+ return (strcmp(path1, path2) == 0 || strcmp(path1, "/") == 0 ||
+ (strstr(path2, path1) == path2 && path2[strlen(path1)] == '/'));
}
/*
diff --git a/tests/runfiles/linux.run b/tests/runfiles/linux.run
index 22fc26212..4d673cc95 100644
--- a/tests/runfiles/linux.run
+++ b/tests/runfiles/linux.run
@@ -182,7 +182,8 @@ tests = ['zfs_mount_001_pos', 'zfs_mount_002_pos', 'zfs_mount_003_pos',
'zfs_mount_007_pos', 'zfs_mount_008_pos', 'zfs_mount_009_neg',
'zfs_mount_010_neg', 'zfs_mount_011_neg', 'zfs_mount_012_neg',
'zfs_mount_all_001_pos', 'zfs_mount_encrypted', 'zfs_mount_remount',
- 'zfs_multi_mount', 'zfs_mount_all_fail', 'zfs_mount_all_mountpoints']
+ 'zfs_multi_mount', 'zfs_mount_all_fail', 'zfs_mount_all_mountpoints',
+ 'zfs_mount_test_race']
tags = ['functional', 'cli_root', 'zfs_mount']
[tests/functional/cli_root/zfs_program]
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.sh b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.sh
new file mode 100755
index 000000000..404770b27
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_mount/zfs_mount_test_race.sh
@@ -0,0 +1,116 @@
+#!/bin/ksh
+
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright (c) 2019 by Tomohiro Kusumi. All rights reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+. $STF_SUITE/tests/functional/cli_root/zfs_mount/zfs_mount.cfg
+
+#
+# DESCRIPTION:
+# Verify parallel mount ordering is consistent.
+#
+# There was a bug in initial thread dispatching algorithm which put threads
+# under race condition which resulted in undefined mount order. The purpose
+# of this test is to verify `zfs unmount -a` succeeds (not `zfs mount -a`
+# succeeds, it always does) after `zfs mount -a`, which could fail if threads
+# race. See github.com/zfsonlinux/zfs/issues/{8450,8833,8878} for details.
+#
+# STRATEGY:
+# 1. Create pools and filesystems.
+# 2. Set same mount point for >1 datasets.
+# 3. Unmount all datasets.
+# 4. Mount all datasets.
+# 5. Unmount all datasets (verify this succeeds).
+#
+
+verify_runnable "both"
+
+TMPDIR=${TMPDIR:-$TEST_BASE_DIR}
+MNTPT=$TMPDIR/zfs_mount_test_race_mntpt
+DISK1="$TMPDIR/zfs_mount_test_race_disk1"
+DISK2="$TMPDIR/zfs_mount_test_race_disk2"
+
+TESTPOOL1=zfs_mount_test_race_tp1
+TESTPOOL2=zfs_mount_test_race_tp2
+
+export __ZFS_POOL_RESTRICT="$TESTPOOL1 $TESTPOOL2"
+log_must zfs $unmountall
+unset __ZFS_POOL_RESTRICT
+
+function cleanup
+{
+ zpool destroy $TESTPOOL1
+ zpool destroy $TESTPOOL2
+ rm -rf $MNTPT
+ rm -rf /$TESTPOOL1
+ rm -rf /$TESTPOOL2
+ rm -f $DISK1
+ rm -f $DISK2
+ export __ZFS_POOL_RESTRICT="$TESTPOOL1 $TESTPOOL2"
+ log_must zfs $mountall
+ unset __ZFS_POOL_RESTRICT
+}
+log_onexit cleanup
+
+log_note "Verify parallel mount ordering is consistent"
+
+log_must truncate -s $MINVDEVSIZE $DISK1
+log_must truncate -s $MINVDEVSIZE $DISK2
+
+log_must zpool create -f $TESTPOOL1 $DISK1
+log_must zpool create -f $TESTPOOL2 $DISK2
+
+log_must zfs create $TESTPOOL1/$TESTFS1
+log_must zfs create $TESTPOOL2/$TESTFS2
+
+log_must zfs set mountpoint=none $TESTPOOL1
+log_must zfs set mountpoint=$MNTPT $TESTPOOL1/$TESTFS1
+
+# Note that unmount can fail (due to race condition on `zfs mount -a`) with or
+# without `canmount=off`. The race has nothing to do with canmount property,
+# but turn it off for convenience of mount layout used in this test case.
+log_must zfs set canmount=off $TESTPOOL2
+log_must zfs set mountpoint=$MNTPT $TESTPOOL2
+
+# At this point, layout of datasets in two pools will look like below.
+# Previously, on next `zfs mount -a`, pthreads assigned to TESTFS1 and TESTFS2
+# could race, and TESTFS2 usually (actually always) won in ZoL. Note that the
+# problem is how two or more threads could initially be assigned to the same
+# top level directory, not this specific layout. This layout is just an example
+# that can reproduce race, and is also the layout reported in #8833.
+#
+# NAME MOUNTED MOUNTPOINT
+# ----------------------------------------------
+# /$TESTPOOL1 no none
+# /$TESTPOOL1/$TESTFS1 yes $MNTPT
+# /$TESTPOOL2 no $MNTPT
+# /$TESTPOOL2/$TESTFS2 yes $MNTPT/$TESTFS2
+
+# Apparently two datasets must be mounted.
+log_must ismounted $TESTPOOL1/$TESTFS1
+log_must ismounted $TESTPOOL2/$TESTFS2
+# This unmount always succeeds, because potential race hasn't happened yet.
+log_must zfs unmount -a
+# This mount always succeeds, whether threads are under race condition or not.
+log_must zfs mount -a
+
+# Verify datasets are mounted (TESTFS2 fails if the race broke mount order).
+log_must ismounted $TESTPOOL1/$TESTFS1
+log_must ismounted $TESTPOOL2/$TESTFS2
+# Verify unmount succeeds (fails if the race broke mount order).
+log_must zfs unmount -a
+
+log_pass "Verify parallel mount ordering is consistent passed"
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,44 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Brian Behlendorf <behlendorf1@llnl.gov>
Date: Wed, 17 Jul 2019 09:14:36 -0700
Subject: [PATCH] Fix CONFIG_X86_DEBUG_FPU build failure
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When CONFIG_X86_DEBUG_FPU is defined the alternatives_patched symbol
is pulled in as a dependency which results in a build failure. To
prevent this undefine CONFIG_X86_DEBUG_FPU to disable the WARN_ON_FPU()
macro and rely on WARN_ON_ONCE debugging checks which were previously
added.
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #9041
Closes #9049
(cherry picked from commit 095b5412b31c07cad5cec74a4eb5ace011c92b27)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---
include/linux/simd_x86.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/linux/simd_x86.h b/include/linux/simd_x86.h
index 2d7a1c3a5..5f243e0cc 100644
--- a/include/linux/simd_x86.h
+++ b/include/linux/simd_x86.h
@@ -82,6 +82,15 @@
#if defined(_KERNEL)
+/*
+ * Disable the WARN_ON_FPU() macro to prevent additional dependencies
+ * when providing the kfpu_* functions. Relevant warnings are included
+ * as appropriate and are unconditionally enabled.
+ */
+#if defined(CONFIG_X86_DEBUG_FPU) && !defined(KERNEL_EXPORTS_X86_FPU)
+#undef CONFIG_X86_DEBUG_FPU
+#endif
+
#if defined(HAVE_KERNEL_FPU_API_HEADER)
#include <asm/fpu/api.h>
#include <asm/fpu/internal.h>
@@ -0,0 +1,57 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Wed, 25 Sep 2019 10:48:48 +0200
Subject: [PATCH] [SIMD]: FPU register save/restore is also required on 5.0
kernels
NOTE: the kernel needs to have the copy_kernel_to_xregs_err,
copy_kernel_to_fxregs_err and copy_kernel_to_fregs_err funcitons
backported for this to work.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
include/linux/simd_x86.h | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/include/linux/simd_x86.h b/include/linux/simd_x86.h
index 5f243e0cc..aac63d964 100644
--- a/include/linux/simd_x86.h
+++ b/include/linux/simd_x86.h
@@ -179,7 +179,6 @@ kfpu_begin(void)
preempt_disable();
local_irq_disable();
-#if defined(HAVE_KERNEL_TIF_NEED_FPU_LOAD)
/*
* The current FPU registers need to be preserved by kfpu_begin()
* and restored by kfpu_end(). This is required because we can
@@ -188,20 +187,13 @@ kfpu_begin(void)
* context switch.
*/
copy_fpregs_to_fpstate(&current->thread.fpu);
-#elif defined(HAVE_KERNEL_FPU_INITIALIZED)
- /*
- * There is no need to preserve and restore the FPU registers.
- * They will always be restored from the task's stored FPU state
- * when switching contexts.
- */
+
WARN_ON_ONCE(current->thread.fpu.initialized == 0);
-#endif
}
static inline void
kfpu_end(void)
{
-#if defined(HAVE_KERNEL_TIF_NEED_FPU_LOAD)
union fpregs_state *state = &current->thread.fpu.state;
int error;
@@ -213,7 +205,6 @@ kfpu_end(void)
error = copy_kernel_to_fregs_err(&state->fsave);
}
WARN_ON_ONCE(error);
-#endif
local_irq_enable();
preempt_enable();
+10
View File
@@ -0,0 +1,10 @@
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-increase-default-zcmd-allocation-to-256K.patch
0005-import-with-d-dev-disk-by-id-in-scan-service.patch
0006-Enable-zed-emails.patch
0007-Fix-race-in-parallel-mount-s-thread-dispatching-algo.patch
0008-Linux-5.0-compat-SIMD-compatibility.patch
0009-Fix-CONFIG_X86_DEBUG_FPU-build-failure.patch
0010-SIMD-FPU-register-save-restore-is-also-required-on-5.patch
+1
View File
@@ -0,0 +1 @@
usr/lib/python3*
+28 -6
View File
@@ -2,15 +2,25 @@
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 "sphinx-build$$")
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --with autoreconf,python3,systemd --parallel
dh $@ --with autoreconf,python3,systemd,sphinxdoc --parallel
override_dh_autoreconf:
adapt_meta_file:
@# Embed the downstream version in the module.
@sed -e 's/^Version:.*/Version: $(DEB_VERSION_UPSTREAM)/' -i.orig META
@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:
@@ -20,9 +30,12 @@ override_dh_auto_configure:
--sbindir=/sbin \
--libdir=/lib \
--with-udevdir=/lib/udev \
--with-zfsexecdir=/usr/lib/zfs-linux \
--enable-systemd \
--enable-pyzfs \
--with-systemdunitdir=/lib/systemd/system \
--with-systemdpresetdir=/lib/systemd/system-preset \
--with-systemdgeneratordir=/lib/systemd/system-generators \
--with-config=user
override_dh_auto_test:
@@ -41,9 +54,9 @@ override_dh_auto_install:
# 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' '$(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'
@@ -58,6 +71,9 @@ override_dh_auto_install:
chmod a-x '$(CURDIR)/debian/tmp/etc/default/zfs'
chmod a-x '$(CURDIR)/debian/tmp/usr/share/bash-completion/completions/zfs'
override_dh_python3:
dh_python3 -p python3-pyzfs
override_dh_makeshlibs:
dh_makeshlibs -a -V
ifeq ($(BUILD_UDEB), true)
@@ -81,6 +97,12 @@ override_dh_install:
find . -name lib*.la -delete
dh_install --fail-missing
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:
View File
View File
@@ -1,21 +1,15 @@
sbin/zinject
sbin/zpios
sbin/ztest
usr/bin/raidz_test
usr/share/man/man1/raidz_test.1
usr/share/man/man1/test-runner.1
usr/share/man/man1/zpios.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/smb.sh
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
usr/share/zfs/zpios*
usr/share/zfs/zpool-config/
usr/share/zfs/zpool-create.sh
+1 -1
View File
@@ -1,5 +1,5 @@
etc/zfs/zed.d/*
lib/systemd/system/zfs-zed.service
usr/lib/*/zfs/zed.d/*
usr/lib/zfs-linux/zed.d/*
usr/sbin/zed
usr/share/man/man8/zed.8
+2
View File
@@ -0,0 +1,2 @@
COPYRIGHT
LICENSE
@@ -9,6 +9,7 @@ lib/systemd/system/zfs-import.target
lib/systemd/system/zfs-mount.service
lib/systemd/system/zfs-share.service
lib/systemd/system/zfs.target
lib/systemd/system-generators/zfs-mount-generator
lib/udev/
sbin/fsck.zfs
sbin/mount.zfs
@@ -31,6 +32,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.8
usr/share/man/man8/zfs-mount-generator.8
usr/share/man/man8/zfs-program.8
usr/share/man/man8/zgenhostid.8
usr/share/man/man8/zpool.8
usr/share/man/man8/zstreamdump.8
+19
View File
@@ -0,0 +1,19 @@
#!/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#
-380
View File
@@ -1,380 +0,0 @@
spl-linux (0.7.13-pve1~bpo2) unstable; urgency=medium
* update SPL to 0.7.13
* base spl-linux on upstream ZOL instead of debian
-- Proxmox Support Team <support@proxmox.com> Fri, 08 Mar 2019 06:53:13 +0100
spl-linux (0.7.12-pve1~bpo1) unstable; urgency=medium
* update SPL to 0.7.12
-- Proxmox Support Team <support@proxmox.com> Wed, 14 Nov 2018 17:51:59 +0100
spl-linux (0.7.11-pve2~bpo1) unstable; urgency=medium
* update SPL to debian/0.7.11
* Backport deadlock fix between mm_sem and tx assign in zfs_write() and page
fault
-- Proxmox Support Team <support@proxmox.com> Mon, 29 Oct 2018 13:47:39 +0100
spl-linux (0.7.11-pve1~bpo1) unstable; urgency=medium
* update SPL to 0.7.11
-- Proxmox Support Team <support@proxmox.com> Mon, 10 Sep 2018 15:47:06 +0200
spl-linux (0.7.9-pve1~bpo9) unstable; urgency=medium
* update SPL to 0.7.9
-- Proxmox Support Team <support@proxmox.com> Fri, 18 May 2018 13:49:09 +0200
spl-linux (0.7.8-pve1~bpo9) unstable; urgency=medium
* update SPL to 0.7.8 (no changes)
-- Proxmox Support Team <support@proxmox.com> Mon, 30 Apr 2018 13:47:22 +0200
spl-linux (0.7.7-pve1~bpo9) unstable; urgency=medium
* update SPL to 0.7.7
-- Proxmox Support Team <support@proxmox.com> Tue, 3 Apr 2018 14:28:35 +0200
spl-linux (0.7.6-pve1~bpo9) unstable; urgency=medium
* update SPL to 0.7.6
-- Proxmox Support Team <support@proxmox.com> Wed, 21 Feb 2018 09:47:54 +0100
spl-linux (0.7.4-pve1~bpo9) unstable; urgency=medium
* update SPL to 0.7.4
-- Proxmox Support Team <support@proxmox.com> Tue, 19 Dec 2017 12:52:42 +0100
spl-linux (0.7.3-pve1~bpo9) unstable; urgency=medium
* update spl to 0.7.3
-- Proxmox Support Team <support@proxmox.com> Mon, 6 Nov 2017 09:14:19 +0100
spl-linux (0.7.2-pve1~bpo90) unstable; urgency=medium
* update spl to 0.7.2
* clean up man pages
-- Proxmox Support Team <support@proxmox.com> Thu, 12 Oct 2017 13:33:04 +0200
spl-linux (0.6.5.11-pve10~bpo90) unstable; urgency=medium
* update spl to debian/0.6.5.11-1
-- Proxmox Support Team <support@proxmox.com> Thu, 27 Jul 2017 13:11:45 +0200
spl-linux (0.6.5.9-pve9~bpo90) unstable; urgency=medium
* rebuild for PVE 5.0 / Debian Stretch
-- Proxmox Support Team <support@proxmox.com> Fri, 10 Mar 2017 09:45:52 +0100
spl-linux (0.6.5.9-pve8~bpo80) unstable; urgency=medium
* 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
spl-linux (0.7.12-1) unstable; urgency=medium
* New upstream version 0.7.12
* Bump linux compatibility to 4.19 .
-- Mo Zhou <cdluminate@gmail.com> Mon, 19 Nov 2018 11:25:53 +0000
spl-linux (0.7.11-1) unstable; urgency=medium
[ Nicolas Braud-Santoni ]
* control: Use a canonical URI for Vcs-Git
* copyright: Use HTTPs Format URI in copyright
* debian/rules: Enable build hardening
* debian/rules: Use DEB_VERSION* instead of manually parsing.
[ Mo Zhou ]
* New upstream version 0.7.11 (Closes: #908483)
* Append myself to Uploaders.
* Suggests linux-libc-dev (<< LINUX_NEXT~) instead of (<< LINUX_NEXT).
* Replace get_next.sh with one-liner awk script in rules.
* Bump linux_compat to 4.18 .
* Fix debian-rules-sets-dpkg-architecture-variable.
* Fix debian-watch-uses-insecure-uri.
-- Mo Zhou <cdluminate@gmail.com> Wed, 19 Sep 2018 04:13:01 +0000
spl-linux (0.7.9-3) unstable; urgency=medium
* d/control: migrate to alioth-lists (Closes: #899692)
-- Aron Xu <aron@debian.org> Mon, 28 May 2018 18:05:37 +0800
spl-linux (0.7.9-2) unstable; urgency=medium
[ Aron Xu ]
* New upstream version 0.7.9
* Fix lintian obsolete-relation-form-in-source
* Bump supported linux version to 4.16
[ Antonio Russo ]
* Reduce dependency on spl, and move documentation (Closes: #894608)
-- Aron Xu <aron@debian.org> Wed, 16 May 2018 21:36:17 +0800
spl-linux (0.7.6-1) unstable; urgency=medium
* New upstream release (Closes: #891235)
* Update VCS-* URL to salsa.debian.org
* Apply wrap-and-sort to control*
* 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.
-- Aron Xu <aron@debian.org> Mon, 26 Feb 2018 16:29:50 +0800
spl-linux (0.7.5-1) unstable; urgency=medium
* Add libelf-dev to Depends (Closes: #886453)
* New upstream version 0.7.5 (Closes: #886453)
-- Aron Xu <aron@debian.org> Fri, 19 Jan 2018 15:23:26 +0800
spl-linux (0.7.4-1) unstable; urgency=medium
* New upstream version 0.7.4 (Closes: #883830)
* Update stdver to 4.1.2, no change required
-- Aron Xu <aron@debian.org> Mon, 18 Dec 2017 22:05:32 +0800
spl-linux (0.7.3-1) unstable; urgency=medium
* New upstream version 0.7.3
-- Aron Xu <aron@debian.org> Tue, 31 Oct 2017 17:29:08 +0800
spl-linux (0.6.5.11-1) unstable; urgency=medium
* Imported Upstream version 0.6.5.11
-- Aron Xu <aron@debian.org> Fri, 14 Jul 2017 14:39:21 +0800
spl-linux (0.6.5.10-1) unstable; urgency=medium
* New upstream version 0.6.5.10
-- Aron Xu <aron@debian.org> Wed, 05 Jul 2017 18:00:58 +0800
spl-linux (0.6.5.9-1) unstable; urgency=medium
* Imported Upstream version 0.6.5.9
-- Aron Xu <aron@debian.org> Mon, 06 Feb 2017 15:52:47 +0800
spl-linux (0.6.5.8-3) unstable; urgency=medium
* Fix Linux 4.9 compatibility (Closes: #851352)
Thanks to Fabian Grünbichler!
-- Aron Xu <aron@debian.org> Tue, 17 Jan 2017 20:57:13 +0800
spl-linux (0.6.5.8-2) unstable; urgency=medium
[ Petter Reinholdtsen ]
* Added d/gbp.conf to enforce the use of pristine-tar.
* Added extra autopkgtest script check.sh from the Ubuntu package.
[ Aron Xu ]
* Make use of dh-autoreconf
* Deal with /etc/hostid in postinst of spl package
* Add lintian-overrides: extra-license-file
* Simplify rules by merging Ubuntu one
* Handle the case /etc/hostid is being wrongly marked as conffile
* Install man pages for spl
* Move command-with-path-in-maintainer-script override to spl
-- Aron Xu <aron@debian.org> Wed, 28 Sep 2016 05:02:06 +0800
spl-linux (0.6.5.8-1) unstable; urgency=medium
[ Petter Reinholdtsen ]
* Fix invalid command in dkms (Closes: #836578)
[ Zhou Mo ]
* control: bump standards version to 3.9.8
[ Aron Xu ]
* Imported Upstream version 0.6.5.8 (Closes: #835992)
* rules: allow parallel building
-- Aron Xu <aron@debian.org> Sun, 18 Sep 2016 01:06:04 +0800
spl-linux (0.6.5.7-1) unstable; urgency=medium
* Imported Upstream version 0.6.5.7
-- Aron Xu <aron@debian.org> Wed, 25 May 2016 12:17:05 +0800
spl-linux (0.6.5.6-2) unstable; urgency=medium
* Add license names to entries missing it.
* Added autopkgtest using code from Ubuntu using dkms >= 2.2.0.3-3~.
-- Petter Reinholdtsen <pere@hungry.com> Thu, 28 Apr 2016 20:21:29 +0800
spl-linux (0.6.5.6-1) unstable; urgency=medium
* New upstream release
-- Aron Xu <aron@debian.org> Thu, 24 Mar 2016 07:14:47 +0800
spl-linux (0.6.5.5-1) unstable; urgency=medium
* New upstream release
-- Aron Xu <aron@debian.org> Sun, 20 Mar 2016 22:50:26 +0800
spl-linux (0.6.5.4-1) unstable; urgency=medium
* New upstream release
-- Aron Xu <aron@debian.org> Sun, 10 Jan 2016 20:13:15 +0800
spl-linux (0.6.5.3-1) unstable; urgency=medium
* New upstream release
-- Aron Xu <aron@debian.org> Thu, 05 Nov 2015 21:08:25 +0800
spl-linux (0.6.5.2-1) unstable; urgency=medium
* Imported Upstream version 0.6.5.2
* Add conflicts to splat (Closes: #769147)
-- Aron Xu <aron@debian.org> Tue, 13 Oct 2015 15:26:33 +0100
spl-linux (0.6.4.2-1) experimental; urgency=medium
* New upstream release.
-- Aron Xu <aron@debian.org> Thu, 13 Aug 2015 19:58:26 +0800
spl-linux (0.6.4.1-1) experimental; urgency=medium
* New upstream release.
-- Aron Xu <aron@debian.org> Sun, 17 May 2015 05:47:51 +0800
spl-linux (0.6.2-2) experimental; urgency=low
* Add file and libc-dev to Depends of spl-dkms (Closes: #717565).
-- Aron Xu <aron@debian.org> Sun, 25 Aug 2013 02:02:15 +0800
spl-linux (0.6.2-1) experimental; urgency=low
* New upstream release.
-- Aron Xu <aron@debian.org> Sat, 24 Aug 2013 14:30:25 +0800
spl-linux (0.6.1-2) experimental; urgency=low
* Add license info for scripts/kmodtool
* Add linux 3.10 compatibility patch from upstream. (Closes: #717565)
* Add facility to build udeb and binary modules, thanks Turbo Fredriksson
for the work.
-- Aron Xu <aron@debian.org> Mon, 29 Jul 2013 16:04:24 +0800
spl-linux (0.6.1-1) experimental; urgency=low
* Initial Release (Closes: #686453)
-- Aron Xu <aron@debian.org> Tue, 02 Apr 2013 01:03:05 +0200
-32
View File
@@ -1,32 +0,0 @@
Source: spl-linux
Section: kernel
Priority: optional
Maintainer: Proxmox Support Team <support@proxmox.com>
Build-Depends: autogen,
autotools-dev,
debhelper (>= 10~),
dh-autoreconf,
libtool
Standards-Version: 4.1.2
Homepage: http://www.zfsonlinux.org/
Vcs-Git: https://git.proxmox.com/git/zfsonlinux.git
Vcs-Browser: https://git.proxmox.com/?p=zfsonlinux.git;a=summary
Package: spl
Architecture: linux-any
Conflicts: spl-dev, splat
Depends: ${misc:Depends}, ${shlibs:Depends}
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
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 includes the user space utilities needed to test and debug
the SPL and SPLAT kernel modules.
-189
View File
@@ -1,189 +0,0 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Solaris Porting Layer for Linux
Upstream-Contact: Brian Behlendorf <behlendorf1@llnl.gov>
Source: https://github.com/zfsonlinux/spl/
Disclaimer:
This work was produced at the Lawrence Livermore National Laboratory
(LLNL) under Contract No. DE-AC52-07NA27344 (Contract 44) between
the U.S. Department of Energy (DOE) and Lawrence Livermore National
Security, LLC (LLNS) for the operation of LLNL.
.
This work was prepared as an account of work sponsored by an agency of
the United States Government. Neither the United States Government nor
Lawrence Livermore National Security, LLC nor any of their employees,
makes any warranty, express or implied, or assumes any liability or
responsibility for the accuracy, completeness, or usefulness of any
information, apparatus, product, or process disclosed, or represents
that its use would not infringe privately-owned rights.
.
Reference herein to any specific commercial products, process, or
services by trade name, trademark, manufacturer or otherwise does
not necessarily constitute or imply its endorsement, recommendation,
or favoring by the United States Government or Lawrence Livermore
National Security, LLC. The views and opinions of authors expressed
herein do not necessarily state or reflect those of the Untied States
Government or Lawrence Livermore National Security, LLC, and shall
not be used for advertising or product endorsement purposes.
Files: *
Copyright: Lawrence Livermore National Security, LLC.
The Regents of the University of California
License: GPL-2+
Files: config/config.guess
Copyright: Free Software Foundation, Inc.
License: GPL-2+
Files: config/config.sub
Copyright: Free Software Foundation, Inc.
License: GPL-2+
Files: config/deb.am
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: config/depcomp
Copyright: Free Software Foundation, Inc.
License: GPL-2+
Files: config/install-sh
Copyright: 1994 X Consortium
License: X11-install-sh
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.
Except as contained in this notice, the name of the X Consortium shall not
be used in advertising or otherwise to promote the sale, use or other deal-
ings in this Software without prior written authorization from the X Consor-
tium.
Files: config/ltmain.sh
Copyright: Free Software Foundation, Inc.
License: GPL-2+
Files: config/missing
Copyright: Free Software Foundation, Inc.
License: GPL-2+
Files: config/tgz.am
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: debian/*
Copyright: Darik Horn <dajhorn@vanadac.com>
Carlos Alberto Lopez Perez <clopez@igalia.com>
Aron Xu <aron@debian.org>
License: GPL-2+
Files: include/linux/zlib_compat.h
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: include/rpc/xdr.h
Copyright: Sun Microsystems, Inc.
License: GPL-2+
Files: include/sys/extdirent.h
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: include/sys/fcntl.h
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: include/sys/idmap.h
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: include/sys/tsd.h
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: include/sys/zmod.h
Copyright: Jean-loup Gailly
Mark Adler
License: zmod
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
.
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
.
3. This notice may not be removed or altered from any source distribution.
Files: module/spl/spl-tsd.c
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: module/spl/spl-xdr.c
Copyright: Sun Microsystems, Inc.
License: GPL-2+
Files: module/splat/splat-linux.c
Copyright: Lawrence Livermore National Security, LLC.
License: GPL-2+
Files: scripts/kmodtool
Copyright: 2003-2012 Ville Skyttä <ville.skytta@iki.fi>
Thorsten Leemhuis <fedora@leemhuis.info>
Nicolas Chauvet <kwizart@gmail.com>
License: BSD-like
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
.
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
License: GPL-2+
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License along with
this package; if not, write to the Free Software Foundation, Inc., 51 Franklin
St, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the full text of the GNU General Public License version 2
can be found in the file /usr/share/common-licenses/GPL-2.
-33
View File
@@ -1,33 +0,0 @@
#!/usr/bin/make -f
include /usr/share/dpkg/pkg-info.mk
VERSION := $(DEB_VERSION_UPSTREAM)
REVISION := $(shell echo $(DEB_VERSION) | cut -d- -f2)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%:
dh $@ --with autoreconf --parallel
override_dh_auto_configure:
@# Embed the downstream version in the module.
@sed \
-e 's/^Version:.*/Version: $(VERSION)/' \
-e 's/^Release:.*/Release: $(REVISION)/' \
-i.orig META
@# Build the userland, but don't build the kernel modules.
dh_auto_configure -- --with-config=user --disable-debug-kmem
override_dh_auto_test:
# scripts/check.sh tries insmod and rmmod, so it cannot
# run in an unprivileged build environment.
override_dh_auto_install:
@# Install the utilities.
$(MAKE) install DESTDIR='$(CURDIR)/debian/tmp'
override_dh_auto_clean:
dh_auto_clean
@if test -e META.orig; then mv META.orig META; fi
-1
View File
@@ -1 +0,0 @@
extend-diff-ignore='.*'
-2
View File
@@ -1,2 +0,0 @@
usr/sbin
usr/share/man/man1/splat.1
-1
View File
@@ -1 +0,0 @@
spl: command-with-path-in-maintainer-script
-49
View File
@@ -1,49 +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 hostid on Solaris is intrinsic, but is not on Linux (see #595790), so the
# spl kernel module invokes /usr/bin/hostid from the userland in its initialization
# routine.
#
# /usr/bin/hostid will return the 4 first bytes of the file /etc/hostid.
# If this file is not present or contains less than 4 bytes, then /usr/bin/hostid
# will return the bytes of the IP address of $(hostname) flipped, or zero if
# such IP couldn't be obtained
#
# This means that things like a DHCP lease change can affect the hostid.
#
# Therefore the only way of having a stable hostid is to define it on /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
# we will stabilize our current hostid by writing its value to /etc/hostid
# Detect if /etc/hostid is a conffile of previous spl package, migrate if yes
# hostid file should preserve even when package is purged
if $(dpkg-query --showformat='${Conffiles}\n' --show spl >/dev/null 2>&1); then
dpkg-maintscript-helper rm_conffile /etc/hostid -- "$@"
fi
if [ ! -f /etc/hostid ] || [ $(stat -c %s /etc/hostid) -lt 4 ] ; then
# Write our current hostid to /etc/hostid
HOSTID=$(hostid)
AA=$(echo $HOSTID | cut -b 1,2)
BB=$(echo $HOSTID | cut -b 3,4)
CC=$(echo $HOSTID | cut -b 5,6)
DD=$(echo $HOSTID | cut -b 7,8)
# Big Endian
if [ $(echo -n I | od -to2 | awk 'FNR==1{ print substr($2,6,1)}' 2>/dev/null) = 0 ]; then
# Invoke the printf from coreutils. shell builtin lacks the byte format.
/usr/bin/printf "\x$AA\x$BB\x$CC\x$DD" >/etc/hostid
else
# Little Endian
/usr/bin/printf "\x$DD\x$CC\x$BB\x$AA" >/etc/hostid
fi
fi
#DEBHELPER#
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
set -e
# Detect if /etc/hostid is a conffile of previous spl package, migrate if yes
# hostid file should preserve even when package is purged
if $(dpkg-query --showformat='${Conffiles}\n' --show spl >/dev/null 2>&1); then
dpkg-maintscript-helper rm_conffile /etc/hostid -- "$@"
fi
#DEBHELPER#
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
set -e
# Detect if /etc/hostid is a conffile of previous spl package, migrate if yes
# hostid file should preserve even when package is purged
if $(dpkg-query --showformat='${Conffiles}\n' --show spl >/dev/null 2>&1); then
dpkg-maintscript-helper rm_conffile /etc/hostid -- "$@"
fi
#DEBHELPER#
-2
View File
@@ -1,2 +0,0 @@
version=3
https://zfsonlinux.org/ .*spl-([\d\.]+)\.tar\.gz$
Submodule spl/upstream deleted from d665632350
Submodule
+1
Submodule upstream added at 63b88f7e22
-1
View File
@@ -1 +0,0 @@
10
-2
View File
@@ -1,2 +0,0 @@
COPYRIGHT
OPENSOLARIS.LICENSE
-2
View File
@@ -1,2 +0,0 @@
COPYRIGHT
OPENSOLARIS.LICENSE
-2
View File
@@ -1,2 +0,0 @@
COPYRIGHT
OPENSOLARIS.LICENSE
-2
View File
@@ -1,2 +0,0 @@
COPYRIGHT
OPENSOLARIS.LICENSE
-2
View File
@@ -1,2 +0,0 @@
COPYRIGHT
OPENSOLARIS.LICENSE
@@ -1,37 +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] Add-libuutil-to-LIBADD-for-libzfs-and-libzfs_core
---
lib/libzfs/Makefile.am | 1 +
lib/libzfs_core/Makefile.am | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/libzfs/Makefile.am b/lib/libzfs/Makefile.am
index f1260ea71..5b07b9d9d 100644
--- a/lib/libzfs/Makefile.am
+++ b/lib/libzfs/Makefile.am
@@ -31,6 +31,7 @@ nodist_libzfs_la_SOURCES = \
libzfs_la_LIBADD = \
$(top_builddir)/lib/libzfs_core/libzfs_core.la \
+ $(top_builddir)/lib/libuutil/libuutil.la \
$(top_builddir)/lib/libshare/libshare.la \
$(top_builddir)/lib/libnvpair/libnvpair.la \
$(top_builddir)/lib/libzpool/libzpool.la
diff --git a/lib/libzfs_core/Makefile.am b/lib/libzfs_core/Makefile.am
index 5eafc25c0..10d6de3d6 100644
--- a/lib/libzfs_core/Makefile.am
+++ b/lib/libzfs_core/Makefile.am
@@ -16,7 +16,8 @@ nodist_libzfs_core_la_SOURCES = \
$(KERNEL_C)
libzfs_core_la_LIBADD = \
- $(top_builddir)/lib/libnvpair/libnvpair.la
+ $(top_builddir)/lib/libnvpair/libnvpair.la \
+ $(top_builddir)/lib/libuutil/libuutil.la
libzfs_core_la_LDFLAGS = -version-info 1:0:0
@@ -1,60 +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, 4 Sep 2017 10:59:32 +0200
Subject: [PATCH] add man page reference to systemd units
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-import-cache.service.in | 1 +
etc/systemd/system/zfs-import-scan.service.in | 1 +
etc/systemd/system/zfs-mount.service.in | 1 +
etc/systemd/system/zfs-share.service.in | 1 +
4 files changed, 4 insertions(+)
diff --git a/etc/systemd/system/zfs-import-cache.service.in b/etc/systemd/system/zfs-import-cache.service.in
index 97808dee7..cb4358fb4 100644
--- a/etc/systemd/system/zfs-import-cache.service.in
+++ b/etc/systemd/system/zfs-import-cache.service.in
@@ -1,5 +1,6 @@
[Unit]
Description=Import ZFS pools by cache file
+Documentation=man:zpool(8)
DefaultDependencies=no
Requires=systemd-udev-settle.service
After=systemd-udev-settle.service
diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in
index c097e3852..e7b1d8862 100644
--- a/etc/systemd/system/zfs-import-scan.service.in
+++ b/etc/systemd/system/zfs-import-scan.service.in
@@ -1,5 +1,6 @@
[Unit]
Description=Import ZFS pools by device scanning
+Documentation=man:zpool(8)
DefaultDependencies=no
Requires=systemd-udev-settle.service
After=systemd-udev-settle.service
diff --git a/etc/systemd/system/zfs-mount.service.in b/etc/systemd/system/zfs-mount.service.in
index 728fc630c..8a73716f5 100644
--- a/etc/systemd/system/zfs-mount.service.in
+++ b/etc/systemd/system/zfs-mount.service.in
@@ -1,5 +1,6 @@
[Unit]
Description=Mount ZFS filesystems
+Documentation=man:zfs(8)
DefaultDependencies=no
After=systemd-udev-settle.service
After=zfs-import.target
diff --git a/etc/systemd/system/zfs-share.service.in b/etc/systemd/system/zfs-share.service.in
index 494f5cbef..d0c93a3e6 100644
--- a/etc/systemd/system/zfs-share.service.in
+++ b/etc/systemd/system/zfs-share.service.in
@@ -1,5 +1,6 @@
[Unit]
Description=ZFS file system shares
+Documentation=man:zfs(8)
After=nfs-server.service nfs-kernel-server.service
After=smb.service
After=zfs-mount.service
@@ -1,38 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
Date: Thu, 12 Oct 2017 08:57:48 +0200
Subject: [PATCH] fix install path of zpool.d scripts
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>
---
cmd/zpool/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cmd/zpool/Makefile.am b/cmd/zpool/Makefile.am
index d07f8d616..5d26f326e 100644
--- a/cmd/zpool/Makefile.am
+++ b/cmd/zpool/Makefile.am
@@ -22,11 +22,11 @@ zpool_LDADD = \
-lm $(LIBBLKID)
zpoolconfdir = $(sysconfdir)/zfs/zpool.d
-zpoolexecdir = $(libexecdir)/zfs/zpool.d
+zpoollibdir = /usr/lib/zfs-linux/zpool.d
EXTRA_DIST = zpool.d/README
-dist_zpoolexec_SCRIPTS = \
+dist_zpoollib_SCRIPTS = \
zpool.d/enc \
zpool.d/encdev \
zpool.d/fault_led \
@@ -119,5 +119,5 @@ install-data-hook:
for f in $(zpoolconfdefaults); do \
test -f "$(DESTDIR)$(zpoolconfdir)/$${f}" -o \
-L "$(DESTDIR)$(zpoolconfdir)/$${f}" || \
- ln -s "$(zpoolexecdir)/$${f}" "$(DESTDIR)$(zpoolconfdir)"; \
+ ln -s "$(zpoollibdir)/$${f}" "$(DESTDIR)$(zpoolconfdir)"; \
done
@@ -1,41 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Colin Ian King <colin.king@canonical.com>
Date: Mon, 17 Oct 2016 14:30:56 +0800
Subject: [PATCH] Use python3 for arcstat.py, arc_summary.py & dbufstat.py
---
cmd/arc_summary/arc_summary.py | 2 +-
cmd/arcstat/arcstat.py | 2 +-
cmd/dbufstat/dbufstat.py | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/cmd/arc_summary/arc_summary.py b/cmd/arc_summary/arc_summary.py
index f6dbb9bfb..723c2e5a6 100755
--- a/cmd/arc_summary/arc_summary.py
+++ b/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 $
#
diff --git a/cmd/arcstat/arcstat.py b/cmd/arcstat/arcstat.py
index d7d3e9b73..3a7a47d67 100755
--- a/cmd/arcstat/arcstat.py
+++ b/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
diff --git a/cmd/dbufstat/dbufstat.py b/cmd/dbufstat/dbufstat.py
index 42bb0c7c7..73e02ca11 100755
--- a/cmd/dbufstat/dbufstat.py
+++ b/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
@@ -1,61 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Rohan Puri <rohan.puri15@gmail.com>
Date: Sat, 28 Jul 2018 18:32:12 +0530
Subject: [PATCH] Fix deadlock between zfs umount & snapentry_expire
zfs umount -> zfsctl_destroy() takes the zfs_snapshot_lock as a
writer and calls zfsctl_snapshot_unmount_cancel(), which waits
for snapentry_expire() if present (when snap is automounted).
This snapentry_expire() itself then waits for zfs_snapshot_lock
as a reader, resulting in a deadlock.
The fix is to only hold the zfs_snapshot_lock over the tree
lookup and removal. After a successful lookup the lock can
be dropped and zfs_snapentry_t will remain valid until the
reference taken by the lookup is released.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rohan Puri <rohan.puri15@gmail.com>
Closes #7751
Closes #7752
(Cherry-picked from fd7265c646f40e364396af5014bbb83e809e124a)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
module/zfs/zfs_ctldir.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/module/zfs/zfs_ctldir.c b/module/zfs/zfs_ctldir.c
index bf5a1d059..2964b65a6 100644
--- a/module/zfs/zfs_ctldir.c
+++ b/module/zfs/zfs_ctldir.c
@@ -358,8 +358,6 @@ snapentry_expire(void *data)
static void
zfsctl_snapshot_unmount_cancel(zfs_snapentry_t *se)
{
- ASSERT(RW_LOCK_HELD(&zfs_snapshot_lock));
-
if (taskq_cancel_id(system_delay_taskq, se->se_taskqid) == 0) {
se->se_taskqid = TASKQID_INVALID;
zfsctl_snapshot_rele(se);
@@ -570,13 +568,14 @@ zfsctl_destroy(zfsvfs_t *zfsvfs)
uint64_t objsetid = dmu_objset_id(zfsvfs->z_os);
rw_enter(&zfs_snapshot_lock, RW_WRITER);
- if ((se = zfsctl_snapshot_find_by_objsetid(spa, objsetid))
- != NULL) {
- zfsctl_snapshot_unmount_cancel(se);
+ se = zfsctl_snapshot_find_by_objsetid(spa, objsetid);
+ if (se != NULL)
zfsctl_snapshot_remove(se);
+ rw_exit(&zfs_snapshot_lock);
+ if (se != NULL) {
+ zfsctl_snapshot_unmount_cancel(se);
zfsctl_snapshot_rele(se);
}
- rw_exit(&zfs_snapshot_lock);
} else if (zfsvfs->z_ctldir) {
iput(zfsvfs->z_ctldir);
zfsvfs->z_ctldir = NULL;
-11
View File
@@ -1,11 +0,0 @@
0001-Check-for-META-and-DCH-consistency-in-autoconf.patch
0002-Add-libuutil-to-LIBADD-for-libzfs-and-libzfs_core.patch
0003-add-man-page-reference-to-systemd-units.patch
0004-always-load-ZFS-module-on-boot.patch
0005-fix-install-path-of-zpool.d-scripts.patch
0006-Use-python3-for-arcstat.py-arc_summary.py-dbufstat.p.patch
0007-Fix-the-path-to-the-zed-binary-on-the-systemd-unit.patch
0008-increase-default-zcmd-allocation-to-256K.patch
0009-import-with-d-dev-disk-by-id-in-scan-service.patch
0010-Fix-deadlock-between-zfs-umount-snapentry_expire.patch
0011-Enable-zed-emails.patch
-1
View File
@@ -1 +0,0 @@
3.0 (quilt)
-2
View File
@@ -1,2 +0,0 @@
COPYRIGHT
OPENSOLARIS.LICENSE
Submodule zfs/upstream deleted from a8c2b7ebc6