Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 020d1fc78c | |||
| bdbccd235a |
+4
-1
@@ -1,3 +1,6 @@
|
|||||||
[submodule "zfs/upstream"]
|
[submodule "zfs/upstream"]
|
||||||
path = upstream
|
path = zfs/upstream
|
||||||
url = ../mirror_zfs
|
url = ../mirror_zfs
|
||||||
|
[submodule "spl/upstream"]
|
||||||
|
path = spl/upstream
|
||||||
|
url = ../mirror_spl
|
||||||
|
|||||||
@@ -1,10 +1,22 @@
|
|||||||
|
RELEASE=5.1
|
||||||
|
|
||||||
# source form https://github.com/zfsonlinux/
|
# source form https://github.com/zfsonlinux/
|
||||||
|
|
||||||
ZFSPKG=debian
|
SPLDIR=spl-linux_${ZFSVER}
|
||||||
ZFSVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion | cut -d- -f1
|
SPLSRC=spl/upstream
|
||||||
ZFSPKGVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion
|
SPLPKG=spl/debian
|
||||||
ZFSDIR=zfs-linux_${ZFSVER}
|
ZFSDIR=zfs-linux_${ZFSVER}
|
||||||
ZFSSRC=upstream
|
ZFSSRC=zfs/upstream
|
||||||
|
ZFSPKG=zfs/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
|
||||||
|
|
||||||
ZFS_DEB1= libnvpair1linux_${ZFSPKGVER}_amd64.deb
|
ZFS_DEB1= libnvpair1linux_${ZFSPKGVER}_amd64.deb
|
||||||
ZFS_DEB2= \
|
ZFS_DEB2= \
|
||||||
@@ -20,17 +32,20 @@ zfsutils-linux_${ZFSPKGVER}_amd64.deb
|
|||||||
ZFS_DEBS= $(ZFS_DEB1) $(ZFS_DEB2)
|
ZFS_DEBS= $(ZFS_DEB1) $(ZFS_DEB2)
|
||||||
ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
|
ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
|
||||||
|
|
||||||
|
DEBS=${SPL_DEB} ${ZFS_DEBS}
|
||||||
|
DSCS=${SPL_DSC} ${ZFS_DSC}
|
||||||
|
|
||||||
all: deb
|
all: deb
|
||||||
.PHONY: deb
|
.PHONY: deb
|
||||||
deb: ${ZFS_DEBS}
|
deb: ${DEBS}
|
||||||
.PHONY: dsc
|
.PHONY: dsc
|
||||||
dsc: ${ZFS_DSC}
|
dsc: ${DSCS}
|
||||||
|
|
||||||
# called from pve-kernel's Makefile to get patched sources
|
# called from pve-kernel's Makefile to get patched sources
|
||||||
.PHONY: kernel
|
.PHONY: kernel
|
||||||
kernel: dsc
|
kernel: dsc
|
||||||
|
dpkg-source -x ${SPL_DSC} ../pkg-spl
|
||||||
dpkg-source -x ${ZFS_DSC} ../pkg-zfs
|
dpkg-source -x ${ZFS_DSC} ../pkg-zfs
|
||||||
$(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file
|
|
||||||
|
|
||||||
.PHONY: dinstall
|
.PHONY: dinstall
|
||||||
dinstall: ${DEBS}
|
dinstall: ${DEBS}
|
||||||
@@ -38,8 +53,25 @@ dinstall: ${DEBS}
|
|||||||
|
|
||||||
.PHONY: submodule
|
.PHONY: submodule
|
||||||
submodule:
|
submodule:
|
||||||
test -f "$(ZFSSRC)/README.md" || git submodule update --init
|
test -f "${ZFSSRC}/README.markdown" || git submodule update --init
|
||||||
$(ZFSSRC)/README.md: submodule
|
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
|
||||||
|
|
||||||
.PHONY: zfs
|
.PHONY: zfs
|
||||||
zfs: $(ZFS_DEBS)
|
zfs: $(ZFS_DEBS)
|
||||||
@@ -53,7 +85,7 @@ ${ZFS_DSC}: ${ZFSDIR}
|
|||||||
cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
|
cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
|
||||||
lintian $@
|
lintian $@
|
||||||
|
|
||||||
${ZFSDIR}: $(ZFSSRC)/README.md $(ZFSSRC) ${ZFSPKG}
|
${ZFSDIR}: $(ZFSSRC) ${ZFSPKG}
|
||||||
rm -rf ${ZFSDIR}
|
rm -rf ${ZFSDIR}
|
||||||
mkdir ${ZFSDIR}
|
mkdir ${ZFSDIR}
|
||||||
cp -a ${ZFSSRC}/* ${ZFSDIR}/
|
cp -a ${ZFSSRC}/* ${ZFSDIR}/
|
||||||
@@ -62,11 +94,11 @@ ${ZFSDIR}: $(ZFSSRC)/README.md $(ZFSSRC) ${ZFSPKG}
|
|||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR}
|
rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR} ${SPLDIR}
|
||||||
|
|
||||||
.PHONY: distclean
|
.PHONY: distclean
|
||||||
distclean: clean
|
distclean: clean
|
||||||
|
|
||||||
.PHONY: upload
|
.PHONY: upload
|
||||||
upload: ${DEBS}
|
upload: ${DEBS}
|
||||||
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist buster --arch amd64
|
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist stretch --arch amd64
|
||||||
|
|||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
COPYRIGHT
|
|
||||||
LICENSE
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
COPYRIGHT
|
|
||||||
LICENSE
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
COPYRIGHT
|
|
||||||
LICENSE
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
COPYRIGHT
|
|
||||||
LICENSE
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
COPYRIGHT
|
|
||||||
LICENSE
|
|
||||||
-244
@@ -1,244 +0,0 @@
|
|||||||
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
@@ -1,44 +0,0 @@
|
|||||||
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>
|
|
||||||
Vendored
-9
@@ -1,9 +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-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
|
|
||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
usr/lib/python3*
|
|
||||||
Vendored
-2
@@ -1,2 +0,0 @@
|
|||||||
COPYRIGHT
|
|
||||||
LICENSE
|
|
||||||
Vendored
-19
@@ -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#
|
|
||||||
|
|
||||||
@@ -0,0 +1,380 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
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.
|
||||||
@@ -0,0 +1,189 @@
|
|||||||
|
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.
|
||||||
Executable
+33
@@ -0,0 +1,33 @@
|
|||||||
|
#!/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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
extend-diff-ignore='.*'
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
usr/sbin
|
||||||
|
usr/share/man/man1/splat.1
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
spl: command-with-path-in-maintainer-script
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
#!/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#
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#!/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#
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#!/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#
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
version=3
|
||||||
|
https://zfsonlinux.org/ .*spl-([\d\.]+)\.tar\.gz$
|
||||||
Submodule
+1
Submodule spl/upstream added at d665632350
-1
Submodule upstream deleted from 63b88f7e22
@@ -1,38 +1,3 @@
|
|||||||
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
|
zfs-linux (0.7.13-pve1~bpo2) unstable; urgency=medium
|
||||||
|
|
||||||
* remove conflict with insserv (<< 1.18)
|
* remove conflict with insserv (<< 1.18)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
10
|
||||||
@@ -2,20 +2,20 @@ Source: zfs-linux
|
|||||||
Section: contrib/kernel
|
Section: contrib/kernel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Proxmox Support Team <support@proxmox.com>
|
Maintainer: Proxmox Support Team <support@proxmox.com>
|
||||||
Build-Depends: debhelper (>= 10~),
|
Build-Depends: autotools-dev,
|
||||||
|
debhelper (>= 10~),
|
||||||
|
dh-autoreconf,
|
||||||
dh-python,
|
dh-python,
|
||||||
|
libattr1-dev,
|
||||||
libblkid-dev,
|
libblkid-dev,
|
||||||
libssl-dev | libssl1.0-dev,
|
libselinux1-dev,
|
||||||
libtool,
|
libtool,
|
||||||
lsb-release,
|
lsb-release,
|
||||||
python3-cffi,
|
python3,
|
||||||
python3-setuptools,
|
|
||||||
python3-sphinx,
|
|
||||||
python3-all-dev,
|
|
||||||
uuid-dev,
|
uuid-dev,
|
||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
Standards-Version: 4.1.2
|
Standards-Version: 4.1.2
|
||||||
Homepage: https://www.zfsonlinux.org/
|
Homepage: http://www.zfsonlinux.org/
|
||||||
Vcs-Git: https://git.proxmox.com/git/zfsonlinux.git
|
Vcs-Git: https://git.proxmox.com/git/zfsonlinux.git
|
||||||
Vcs-Browser: https://git.proxmox.com/?p=zfsonlinux.git;a=summary
|
Vcs-Browser: https://git.proxmox.com/?p=zfsonlinux.git;a=summary
|
||||||
|
|
||||||
@@ -89,51 +89,6 @@ Description: OpenZFS pool library for Linux
|
|||||||
.
|
.
|
||||||
This zpool library provides support for managing zpools.
|
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
|
Package: zfs-initramfs
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: busybox-initramfs | busybox-static | busybox,
|
Depends: busybox-initramfs | busybox-static | busybox,
|
||||||
@@ -191,8 +146,7 @@ Depends: acl,
|
|||||||
lsscsi,
|
lsscsi,
|
||||||
mdadm,
|
mdadm,
|
||||||
parted,
|
parted,
|
||||||
python3,
|
python,
|
||||||
python3-pyzfs,
|
|
||||||
sudo,
|
sudo,
|
||||||
sysstat,
|
sysstat,
|
||||||
zfsutils-linux (>=${binary:Version}),
|
zfsutils-linux (>=${binary:Version}),
|
||||||
@@ -228,22 +182,3 @@ Description: Debugging symbols for OpenZFS userland libraries and tools
|
|||||||
.
|
.
|
||||||
This package contains the debugging symbols for libzpool2linux, libzfs2linux,
|
This package contains the debugging symbols for libzpool2linux, libzfs2linux,
|
||||||
libnvpair1linux, libuutil1linux, zfs-zed and zfsutils-linux.
|
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.
|
|
||||||
@@ -154,7 +154,7 @@ Copyright: 2010, 2013, Aneurin Price <aneurin.price@gmail.com>
|
|||||||
License: Expat
|
License: Expat
|
||||||
|
|
||||||
Files: debian/rules
|
Files: debian/rules
|
||||||
Copyright: LICENSE README.markdown
|
Copyright: OPENSOLARIS.LICENSE README.markdown
|
||||||
License: UNKNOWN
|
License: UNKNOWN
|
||||||
Please fill license UNKNOWN from header of debian/rules
|
Please fill license UNKNOWN from header of debian/rules
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
COPYRIGHT
|
||||||
|
OPENSOLARIS.LICENSE
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
COPYRIGHT
|
||||||
|
OPENSOLARIS.LICENSE
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
COPYRIGHT
|
||||||
|
OPENSOLARIS.LICENSE
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
COPYRIGHT
|
||||||
|
OPENSOLARIS.LICENSE
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
COPYRIGHT
|
||||||
|
OPENSOLARIS.LICENSE
|
||||||
+2
-2
@@ -9,7 +9,7 @@ Subject: [PATCH] Check-for-META-and-DCH-consistency-in-autoconf
|
|||||||
1 file changed, 29 insertions(+), 5 deletions(-)
|
1 file changed, 29 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4
|
diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4
|
||||||
index aa0fc1420..f525e2010 100644
|
index 3e1429d99..b8e26c492 100644
|
||||||
--- a/config/zfs-meta.m4
|
--- a/config/zfs-meta.m4
|
||||||
+++ b/config/zfs-meta.m4
|
+++ b/config/zfs-meta.m4
|
||||||
@@ -1,9 +1,10 @@
|
@@ -1,9 +1,10 @@
|
||||||
@@ -35,7 +35,7 @@ index aa0fc1420..f525e2010 100644
|
|||||||
|
|
||||||
ZFS_META_NAME=_ZFS_AC_META_GETVAL([(Name|Project|Package)]);
|
ZFS_META_NAME=_ZFS_AC_META_GETVAL([(Name|Project|Package)]);
|
||||||
if test -n "$ZFS_META_NAME"; then
|
if test -n "$ZFS_META_NAME"; then
|
||||||
@@ -69,8 +71,30 @@ AC_DEFUN([ZFS_AC_META], [
|
@@ -66,8 +68,30 @@ AC_DEFUN([ZFS_AC_META], [
|
||||||
AC_SUBST([ZFS_META_VERSION])
|
AC_SUBST([ZFS_META_VERSION])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
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
|
||||||
|
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
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
|
||||||
+3
-3
@@ -11,11 +11,11 @@ they ship their own zfs-zed unit.
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
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
|
diff --git a/etc/systemd/system/zfs-zed.service.in b/etc/systemd/system/zfs-zed.service.in
|
||||||
index f4313625e..444e776fd 100644
|
index e3dec3dca..0b85f169a 100644
|
||||||
--- a/etc/systemd/system/zfs-zed.service.in
|
--- a/etc/systemd/system/zfs-zed.service.in
|
||||||
+++ b/etc/systemd/system/zfs-zed.service.in
|
+++ b/etc/systemd/system/zfs-zed.service.in
|
||||||
@@ -3,7 +3,7 @@ Description=ZFS Event Daemon (zed)
|
@@ -5,7 +5,7 @@ After=zfs-import-cache.service
|
||||||
Documentation=man:zed(8)
|
After=zfs-import-scan.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
-ExecStart=@sbindir@/zed -F
|
-ExecStart=@sbindir@/zed -F
|
||||||
+2
-2
@@ -61,10 +61,10 @@ Signed-off-by: Colin Ian King <colin.king@canonical.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c
|
diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c
|
||||||
index 19bb57ad4..2a069ffe6 100644
|
index 9703f844f..0cfcf9c2f 100644
|
||||||
--- a/lib/libzfs/libzfs_util.c
|
--- a/lib/libzfs/libzfs_util.c
|
||||||
+++ b/lib/libzfs/libzfs_util.c
|
+++ b/lib/libzfs/libzfs_util.c
|
||||||
@@ -1134,7 +1134,7 @@ int
|
@@ -1355,7 +1355,7 @@ int
|
||||||
zcmd_alloc_dst_nvlist(libzfs_handle_t *hdl, zfs_cmd_t *zc, size_t len)
|
zcmd_alloc_dst_nvlist(libzfs_handle_t *hdl, zfs_cmd_t *zc, size_t len)
|
||||||
{
|
{
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
+2
-2
@@ -13,10 +13,10 @@ Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in
|
diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in
|
||||||
index 4aae9f06e..ec5c45e63 100644
|
index e7b1d8862..060540f63 100644
|
||||||
--- a/etc/systemd/system/zfs-import-scan.service.in
|
--- a/etc/systemd/system/zfs-import-scan.service.in
|
||||||
+++ b/etc/systemd/system/zfs-import-scan.service.in
|
+++ b/etc/systemd/system/zfs-import-scan.service.in
|
||||||
@@ -11,7 +11,7 @@ ConditionPathExists=!@sysconfdir@/zfs/zpool.cache
|
@@ -12,7 +12,7 @@ ConditionPathExists=!@sysconfdir@/zfs/zpool.cache
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
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;
|
||||||
+1
-1
@@ -11,7 +11,7 @@ behavior of mdadm.
|
|||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
|
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
|
||||||
index 0ef706849..50632bfcb 100644
|
index 35a4d1275..c6c106b06 100644
|
||||||
--- a/cmd/zed/zed.d/zed.rc
|
--- a/cmd/zed/zed.d/zed.rc
|
||||||
+++ b/cmd/zed/zed.d/zed.rc
|
+++ b/cmd/zed/zed.d/zed.rc
|
||||||
@@ -15,7 +15,7 @@
|
@@ -15,7 +15,7 @@
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
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
|
||||||
@@ -2,25 +2,15 @@
|
|||||||
|
|
||||||
include /usr/share/dpkg/default.mk
|
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
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@ --with autoreconf,python3,systemd,sphinxdoc --parallel
|
dh $@ --with autoreconf,python3,systemd --parallel
|
||||||
|
|
||||||
adapt_meta_file:
|
override_dh_autoreconf:
|
||||||
@# Embed the downstream version in the module.
|
@# Embed the downstream version in the module.
|
||||||
@sed \
|
@sed -e 's/^Version:.*/Version: $(DEB_VERSION_UPSTREAM)/' -i.orig META
|
||||||
-e 's/^Version:.*/Version: $(VERSION)/' \
|
|
||||||
-e 's/^Release:.*/Release: $(REVISION)/' \
|
|
||||||
-i.orig META
|
|
||||||
|
|
||||||
|
|
||||||
override_dh_autoreconf: adapt_meta_file
|
|
||||||
dh_autoreconf
|
dh_autoreconf
|
||||||
|
|
||||||
override_dh_auto_configure:
|
override_dh_auto_configure:
|
||||||
@@ -30,12 +20,9 @@ override_dh_auto_configure:
|
|||||||
--sbindir=/sbin \
|
--sbindir=/sbin \
|
||||||
--libdir=/lib \
|
--libdir=/lib \
|
||||||
--with-udevdir=/lib/udev \
|
--with-udevdir=/lib/udev \
|
||||||
--with-zfsexecdir=/usr/lib/zfs-linux \
|
|
||||||
--enable-systemd \
|
--enable-systemd \
|
||||||
--enable-pyzfs \
|
|
||||||
--with-systemdunitdir=/lib/systemd/system \
|
--with-systemdunitdir=/lib/systemd/system \
|
||||||
--with-systemdpresetdir=/lib/systemd/system-preset \
|
--with-systemdpresetdir=/lib/systemd/system-preset \
|
||||||
--with-systemdgeneratordir=/lib/systemd/system-generators \
|
|
||||||
--with-config=user
|
--with-config=user
|
||||||
|
|
||||||
override_dh_auto_test:
|
override_dh_auto_test:
|
||||||
@@ -54,9 +41,9 @@ override_dh_auto_install:
|
|||||||
# Remove suffix (.py) as per policy 10.4 - Scripts
|
# Remove suffix (.py) as per policy 10.4 - Scripts
|
||||||
# https://www.debian.org/doc/debian-policy/ch-files.html#s-scripts
|
# https://www.debian.org/doc/debian-policy/ch-files.html#s-scripts
|
||||||
mkdir -p '$(CURDIR)/debian/tmp/usr/sbin/'
|
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/arc_summary.py' '$(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/arcstat.py' '$(CURDIR)/debian/tmp/usr/sbin/arcstat'
|
||||||
mv '$(CURDIR)/debian/tmp/usr/bin/dbufstat' '$(CURDIR)/debian/tmp/usr/sbin/dbufstat'
|
mv '$(CURDIR)/debian/tmp/usr/bin/dbufstat.py' '$(CURDIR)/debian/tmp/usr/sbin/dbufstat'
|
||||||
|
|
||||||
@# Zed has dependencies outside of the system root.
|
@# Zed has dependencies outside of the system root.
|
||||||
mv '$(CURDIR)/debian/tmp/sbin/zed' '$(CURDIR)/debian/tmp/usr/sbin/zed'
|
mv '$(CURDIR)/debian/tmp/sbin/zed' '$(CURDIR)/debian/tmp/usr/sbin/zed'
|
||||||
@@ -71,9 +58,6 @@ override_dh_auto_install:
|
|||||||
chmod a-x '$(CURDIR)/debian/tmp/etc/default/zfs'
|
chmod a-x '$(CURDIR)/debian/tmp/etc/default/zfs'
|
||||||
chmod a-x '$(CURDIR)/debian/tmp/usr/share/bash-completion/completions/zfs'
|
chmod a-x '$(CURDIR)/debian/tmp/usr/share/bash-completion/completions/zfs'
|
||||||
|
|
||||||
override_dh_python3:
|
|
||||||
dh_python3 -p python3-pyzfs
|
|
||||||
|
|
||||||
override_dh_makeshlibs:
|
override_dh_makeshlibs:
|
||||||
dh_makeshlibs -a -V
|
dh_makeshlibs -a -V
|
||||||
ifeq ($(BUILD_UDEB), true)
|
ifeq ($(BUILD_UDEB), true)
|
||||||
@@ -97,12 +81,6 @@ override_dh_install:
|
|||||||
find . -name lib*.la -delete
|
find . -name lib*.la -delete
|
||||||
dh_install --fail-missing
|
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:
|
debian-copyright:
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
3.0 (quilt)
|
||||||
@@ -1,15 +1,21 @@
|
|||||||
sbin/zinject
|
sbin/zinject
|
||||||
|
sbin/zpios
|
||||||
sbin/ztest
|
sbin/ztest
|
||||||
usr/bin/raidz_test
|
usr/bin/raidz_test
|
||||||
usr/share/man/man1/raidz_test.1
|
usr/share/man/man1/raidz_test.1
|
||||||
usr/share/man/man1/test-runner.1
|
usr/share/man/man1/test-runner.1
|
||||||
|
usr/share/man/man1/zpios.1
|
||||||
usr/share/man/man1/ztest.1
|
usr/share/man/man1/ztest.1
|
||||||
usr/share/man/man8/zinject.8
|
usr/share/man/man8/zinject.8
|
||||||
usr/share/zfs/common.sh
|
usr/share/zfs/common.sh
|
||||||
usr/share/zfs/runfiles/
|
usr/share/zfs/runfiles/
|
||||||
|
usr/share/zfs/smb.sh
|
||||||
usr/share/zfs/test-runner
|
usr/share/zfs/test-runner
|
||||||
usr/share/zfs/zfs-tests.sh
|
usr/share/zfs/zfs-tests.sh
|
||||||
usr/share/zfs/zfs-tests/
|
usr/share/zfs/zfs-tests/
|
||||||
usr/share/zfs/zfs.sh
|
usr/share/zfs/zfs.sh
|
||||||
usr/share/zfs/zimport.sh
|
usr/share/zfs/zimport.sh
|
||||||
usr/share/zfs/zloop.sh
|
usr/share/zfs/zloop.sh
|
||||||
|
usr/share/zfs/zpios*
|
||||||
|
usr/share/zfs/zpool-config/
|
||||||
|
usr/share/zfs/zpool-create.sh
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
etc/zfs/zed.d/*
|
etc/zfs/zed.d/*
|
||||||
lib/systemd/system/zfs-zed.service
|
lib/systemd/system/zfs-zed.service
|
||||||
usr/lib/zfs-linux/zed.d/*
|
usr/lib/*/zfs/zed.d/*
|
||||||
usr/sbin/zed
|
usr/sbin/zed
|
||||||
usr/share/man/man8/zed.8
|
usr/share/man/man8/zed.8
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
COPYRIGHT
|
||||||
|
OPENSOLARIS.LICENSE
|
||||||
@@ -9,7 +9,6 @@ lib/systemd/system/zfs-import.target
|
|||||||
lib/systemd/system/zfs-mount.service
|
lib/systemd/system/zfs-mount.service
|
||||||
lib/systemd/system/zfs-share.service
|
lib/systemd/system/zfs-share.service
|
||||||
lib/systemd/system/zfs.target
|
lib/systemd/system/zfs.target
|
||||||
lib/systemd/system-generators/zfs-mount-generator
|
|
||||||
lib/udev/
|
lib/udev/
|
||||||
sbin/fsck.zfs
|
sbin/fsck.zfs
|
||||||
sbin/mount.zfs
|
sbin/mount.zfs
|
||||||
@@ -32,8 +31,6 @@ usr/share/man/man8/mount.zfs.8
|
|||||||
usr/share/man/man8/vdev_id.8
|
usr/share/man/man8/vdev_id.8
|
||||||
usr/share/man/man8/zdb.8
|
usr/share/man/man8/zdb.8
|
||||||
usr/share/man/man8/zfs.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/zgenhostid.8
|
||||||
usr/share/man/man8/zpool.8
|
usr/share/man/man8/zpool.8
|
||||||
usr/share/man/man8/zstreamdump.8
|
usr/share/man/man8/zstreamdump.8
|
||||||
Submodule
+1
Submodule zfs/upstream added at a8c2b7ebc6
Reference in New Issue
Block a user