Package: zfs-linux / 0.7.13-1~bpo9+1

Metadata

Package Version Patches format
zfs-linux 0.7.13-1~bpo9+1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Prevent manual builds in the DKMS source.patch | (download)

config/dkms.m4 | 14 14 + 0 - 0 !
config/user.m4 | 1 1 + 0 - 0 !
2 files changed, 15 insertions(+)

 block manual building in the dkms source tree.
  To avoid messing up future DKMS builds and the zfs installation,
  block manual building of the DKMS source tree.
0002 Check for META and DCH consistency in autoconf.patch | (download)

config/zfs-meta.m4 | 34 29 + 5 - 0 !
1 file changed, 29 insertions(+), 5 deletions(-)

---
0003 Add libuutil to LIBADD for libzfs and libzfs_core.patch | (download)

lib/libzfs/Makefile.am | 1 1 + 0 - 0 !
lib/libzfs_core/Makefile.am | 3 2 + 1 - 0 !
2 files changed, 3 insertions(+), 1 deletion(-)

---
enable zed.patch | (download)

cmd/zed/zed.d/zed.rc | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 enable zed emails
 The OpenZFS event daemon monitors pools.  This patch enables the email
 sending function by default (if zed is installed).  This is consistent with
 the default behavior of mdadm.
1001 cmd python exec path.patch | (download)

cmd/arc_summary/arc_summary.py | 2 1 + 1 - 0 !
cmd/arcstat/arcstat.py | 2 1 + 1 - 0 !
cmd/dbufstat/dbufstat.py | 2 1 + 1 - 0 !
3 files changed, 3 insertions(+), 3 deletions(-)

---
1004 zed service bindir.patch | (download)

etc/init.d/zfs-functions.in | 2 1 + 1 - 0 !
etc/systemd/system/zfs-zed.service.in | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 fix the path to the zed binary on the systemd unit.
 We install zed into /usr/sbin manually meanwhile the upstream default
 is installing it into /sbin.
 Ubuntu packages also install zed to /usr/sbin, but they ship their own
 zfs-zed unit.
0008 dracut make module setup.sh shebang explicit.patch | (download)

contrib/dracut/02zfsexpandknowledge/module-setup.sh.in | 2 1 + 1 - 0 !
contrib/dracut/90zfs/module-setup.sh.in | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 dracut: make module-setup.sh shebang explicit
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

while these are source by dracut (which is a bash script)
0009 add man page reference to systemd units.patch | (download)

etc/systemd/system/zfs-import-cache.service.in | 1 1 + 0 - 0 !
etc/systemd/system/zfs-import-scan.service.in | 1 1 + 0 - 0 !
etc/systemd/system/zfs-mount.service.in | 1 1 + 0 - 0 !
etc/systemd/system/zfs-share.service.in | 1 1 + 0 - 0 !
4 files changed, 4 insertions(+)

 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>

0010 fix install path of zpool.d scripts.patch | (download)

cmd/zpool/Makefile.am | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 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 Grnbichler <f.gruenbichler@proxmox.com>

2000 increase default zcmd allocation to 256K.patch | (download)

lib/libzfs/libzfs_util.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
init debian openrc workaround.patch | (download)

etc/init.d/zfs-import.in | 3 1 + 2 - 0 !
etc/init.d/zfs-mount.in | 3 1 + 2 - 0 !
etc/init.d/zfs-share.in | 2 1 + 1 - 0 !
etc/init.d/zfs-zed.in | 2 1 + 1 - 0 !
4 files changed, 4 insertions(+), 6 deletions(-)

 make these scripts work for debian+openrc setup.
2301 zfs promote rename . recv should be an error.patch | (download)

lib/libzfs/libzfs_dataset.c | 7 7 + 0 - 0 !
module/zfs/zfs_ioctl.c | 12 10 + 2 - 0 !
tests/zfs-tests/include/libtest.shlib | 35 35 + 0 - 0 !
tests/zfs-tests/tests/functional/cli_root/zfs_promote/zfs_promote_006_neg.ksh | 15 10 + 5 - 0 !
tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename.cfg | 1 1 + 0 - 0 !
tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib | 5 5 + 0 - 0 !
tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_004_neg.ksh | 4 2 + 2 - 0 !
7 files changed, 70 insertions(+), 9 deletions(-)

 [patch] zfs promote|rename .../%recv should be an error
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

If we are in the middle of an incremental 'zfs receive', the child
.../%recv will exist. If we run 'zfs promote' .../%recv, it will "work",
but then zfs gets confused about the status of the new dataset.
Attempting to do this promote should be an error.

Similarly renaming .../%recv datasets should not be allowed.

2302 Fix parsable zfs get for compressratios.patch | (download)

lib/libzfs/libzfs_dataset.c | 11 8 + 3 - 0 !
1 file changed, 8 insertions(+), 3 deletions(-)

 [patch] fix parsable 'zfs get' for compressratios
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

This is consistent with the change introduced in bc2d809 where
'zpool get -p dedupratio' does not add a trailing "x" to the output.

2303 Fix zpool events scripted mode tab separator.patch | (download)

cmd/zpool/zpool_main.c | 9 6 + 3 - 0 !
1 file changed, 6 insertions(+), 3 deletions(-)

 [patch] fix zpool events scripted mode tab separator
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

2305 Allow longer SPA names in stats.patch | (download)

lib/libspl/include/sys/kstat.h | 2 1 + 1 - 0 !
module/icp/spi/kcf_spi.c | 11 6 + 5 - 0 !
module/zfs/spa_stats.c | 25 15 + 10 - 0 !
3 files changed, 22 insertions(+), 16 deletions(-)

 [patch] allow longer spa names in stats
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

The pool name can be 256 chars long. Today, in /proc/spl/kstat/zfs/
the name is limited to < 32 characters. This change is to allows
bigger pool names.

2308 OpenZFS 8375 Kernel memory leak in nvpair code.patch | (download)

module/nvpair/nvpair.c | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch] openzfs 8375 - kernel memory leak in nvpair code
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Authored by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Prashanth Sreenivasa <pks@delphix.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Dan McDonald <danmcd@joyent.com>
2309 OpenZFS 7261 nvlist code should enforce name length .patch | (download)

module/nvpair/nvpair.c | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 [patch] openzfs 7261 - nvlist code should enforce name length limit
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Authored by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Sebastien Roy <sebastien.roy@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Dan McDonald <danmcd@omniti.com>
2310 OpenZFS 5778 nvpair_type_is_array does not recognize.patch | (download)

module/nvpair/nvpair.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 [patch] openzfs 5778 - nvpair_type_is_array() does not recognize
 DATA_TYPE_INT8_ARRAY
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Authored by: Andriy Gapon <avg@icyb.net.ua>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
2313 Fix printk calls missing log level.patch | (download)

module/zfs/vdev_disk.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] fix printk() calls missing log level
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

2314 Fix abdstats kstat on 32 bit systems.patch | (download)

module/zfs/abd.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch] fix abdstats kstat on 32-bit systems
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

When decrementing the struct_size and scatter_chunk_waste kstats
the value needs to be cast to an int on 32-bit systems.

2316 Fix coverity defects 147480 147584.patch | (download)

cmd/zdb/zdb.c | 8 4 + 4 - 0 !
cmd/zfs/zfs_main.c | 3 1 + 2 - 0 !
2 files changed, 5 insertions(+), 6 deletions(-)

 [patch] fix coverity defects: 147480, 147584
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

CID 147480: Logically dead code (DEADCODE)

Remove non-null check and subsequent function call. Add ASSERT to future
proof the code.

usage label is only jumped to before `zhp` is initialized.

CID 147584: Out-of-bounds access (OVERRUN)

Subtract length of current string from buffer length for `size` argument
to `snprintf`.

Starting address for the write is the start of the buffer + the current
string length. We need to subtract this string length else risk a buffer
overflow.

2317 Fix coverity defects CID 161388.patch | (download)

cmd/zpool/zpool_main.c | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch] fix coverity defects: cid 161388
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

CID 161388: Resource Leak (REASOURCE_LEAK)

Jump to errout so that file descriptor gets closed before returning
from function.

2318 Use ashift 12 by default on SSDSC2BW48 disks.patch | (download)

cmd/zpool/zpool_vdev.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 [patch] use ashift=12 by default on ssdsc2bw48 disks
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Currently the 480GB models of this disk do not use ashift=12 by
default.  SSDSC2BW48 is also optimized for 4k blocks.

2319 OpenZFS 8558 8602 lwp_create returns EAGAIN.patch | (download)

include/sys/dsl_pool.h | 1 1 + 0 - 0 !
include/sys/zil_impl.h | 1 0 + 1 - 0 !
man/man5/zfs-module-parameters.5 | 48 48 + 0 - 0 !
module/zfs/dsl_pool.c | 50 50 + 0 - 0 !
module/zfs/zil.c | 15 6 + 9 - 0 !
5 files changed, 105 insertions(+), 10 deletions(-)

 [patch] openzfs 8558, 8602 - lwp_create() returns eagain
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

8558 lwp_create() returns EAGAIN on system with more than 80K ZFS filesystems

On a system with more than 80K ZFS filesystems, we've seen cases
where lwp_create() will start to fail by returning EAGAIN. The
problem being, for each of those 80K ZFS filesystems, a taskq will
be created for each dataset as part of the ZIL for each dataset.

Porting Notes:
- The new nomem taskq kstat was dropped.
- Added module options and documentation for new tunings
  zfs_zil_clean_taskq_nthr_pct, zfs_zil_clean_taskq_minalloc,
  zfs_zil_clean_taskq_maxalloc, and zfs_sync_taskq_batch_pct.

Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Sebastien Roy <sebastien.roy@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Authored by: Prakash Surya <prakash.surya@delphix.com>
2320 ZFS send fails to dump objects larger than 128PiB.patch | (download)

module/zfs/bpobj.c | 4 2 + 2 - 0 !
module/zfs/dmu.c | 2 1 + 1 - 0 !
module/zfs/dmu_send.c | 33 19 + 14 - 0 !
tests/runfiles/linux.run | 2 1 + 1 - 0 !
tests/zfs-tests/tests/functional/cli_root/zfs_send/Makefile.am | 3 2 + 1 - 0 !
tests/zfs-tests/tests/functional/cli_root/zfs_send/zfs_send_sparse.ksh | 83 83 + 0 - 0 !
6 files changed, 108 insertions(+), 19 deletions(-)

 [patch] zfs send fails to dump objects larger than 128pib
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

When dumping objects larger than 128PiB it's possible for do_dump() to
miscalculate the FREE_RECORD offset due to an integer overflow
condition: this prevents the receiving end from correctly restoring
the dumped object.

2323 Fix segfault in zpool iostat when adding VDEVs.patch | (download)

cmd/zpool/zpool_main.c | 22 15 + 7 - 0 !
1 file changed, 15 insertions(+), 7 deletions(-)

 [patch] fix segfault in zpool iostat when adding vdevs
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Fix a segfault when running 'zpool iostat -v 1' while adding
a VDEV.

2328 Fix fsanitize address memory leak.patch | (download)

module/zfs/spa.c | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch] fix -fsanitize=address memory leak
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

kmem_alloc(0, ...) in userspace returns a leakable pointer.

2331 OpenZFS 8897 zpool online e fails assertion when run.patch | (download)

lib/libzfs/libzfs_pool.c | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch] openzfs 8897 - zpool online -e fails assertion when run on
 non-leaf vdevs
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Authored by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>
2332 OpenZFS 8898 creating fs with checksum skein on the .patch | (download)

lib/libzfs/libzfs_dataset.c | 7 6 + 1 - 0 !
man/man8/zfs.8 | 4 4 + 0 - 0 !
2 files changed, 10 insertions(+), 1 deletion(-)

 [patch] openzfs 8898 - creating fs with checksum=skein on the boot
 pools fails ungracefully
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Authored by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Andy Stormont <astormont@racktopsystems.com>
2334 OpenZFS 8641 zpool clear and zinject don t work on s.patch | (download)

lib/libzfs/libzfs_pool.c | 11 6 + 5 - 0 !
1 file changed, 6 insertions(+), 5 deletions(-)

 [patch] openzfs 8641 - "zpool clear" and "zinject" don't work on
 "spare" or "replacing" vdevs
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Add "spare" and "replacing" to the list of interior vdev types in
zpool_vdev_is_interior(), alongside the existing "mirror" and "raidz".
This fixes running "zinject -d" and "zpool clear" on spare and replacing
vdevs.

Authored by: Alan Somers <asomers@gmail.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Approved by: Gordon Ross <gwr@nexenta.com>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>

OpenZFS-issue: https://www.illumos.org/issues/8641
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/9a36801382
Closes #7060

2336 OpenZFS 8972 zfs holds In scripted mode do not pad c.patch | (download)

cmd/zfs/zfs_main.c | 11 7 + 4 - 0 !
1 file changed, 7 insertions(+), 4 deletions(-)

 [patch] openzfs 8972 - zfs holds: in scripted mode, do not pad
 columns with spaces
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Authored by: Allan Jude <allanjude@freebsd.org>
Approved by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>

OpenZFS-issue: https://www.illumos.org/issues/8972
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/3aace5c077
Closes #7063

2337 Revert Remove wrong ASSERT in annotate_ecksum.patch | (download)

module/zfs/zfs_fm.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch] revert "remove wrong assert in annotate_ecksum"
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

This reverts commit 093911f1945b5c164a45bb077103283dafdcae0c.

2338 OpenZFS 8731 ASSERT3U nui64s UINT16_MAX fails for la.patch | (download)

module/zfs/zfs_fm.c | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 [patch] openzfs 8731 - assert3u(nui64s, <=, uint16_max) fails for
 large blocks
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Authored by: Andriy Gapon <avg@FreeBSD.org>
Approved by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
2339 Prevent zdb 8 from occasionally hanging on I O.patch | (download)

cmd/zdb/zdb.c | 10 10 + 0 - 0 !
1 file changed, 10 insertions(+)

 [patch] prevent zdb(8) from occasionally hanging on i/o
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

The zdb(8) command may not terminate in the case where the pool
gets suspended and there is a caller in zio_wait() blocking on
an outstanding read I/O that will never complete.  This can in
turn cause ztest(1) to block indefinitely despite the deadman.

Resolve the issue by setting the default failure mode for zdb(8)
to panic.  In user space we always want the command to terminate
when forward progress is no longer possible.

2341 Change movaps to movups in AES NI code.patch | (download)

module/icp/asm-x86_64/aes/aes_intel.S | 94 47 + 47 - 0 !
module/icp/asm-x86_64/modes/gcm_intel.S | 2 1 + 1 - 0 !
2 files changed, 48 insertions(+), 48 deletions(-)

 [patch] change movaps to movups in aes-ni code
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Currently, the ICP contains accelerated assembly code to be
used specifically on CPUs with AES-NI enabled. This code
makes heavy use of the movaps instruction which assumes that
it will be provided aes keys that are 16 byte aligned. This
assumption seems to hold on Illumos, but on Linux some kernel
options such as 'slub_debug=P' will violate it. This patch
changes all instances of this instruction to movups which is
the same except that it can handle unaligned memory.

This patch also adds a few flags which were accidentally never
given to the assembly compiler, resulting in objtool warnings.

Reviewed by: Gvozden Neskovic <neskovic@gmail.com>
3203 Fix zpool create t tempname.patch | (download)

module/zfs/zfs_ioctl.c | 10 8 + 2 - 0 !
tests/runfiles/linux.run | 2 1 + 1 - 0 !
tests/zfs-tests/tests/functional/cli_root/zpool_create/Makefile.am | 3 2 + 1 - 0 !
tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_tempname.ksh | 68 68 + 0 - 0 !
4 files changed, 79 insertions(+), 4 deletions(-)

 [patch] fix 'zpool create -t <tempname>'
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Creating a pool with a temporary name fails when we also specify custom
dataset properties: this is because we mistakenly call
zfs_set_prop_nvlist() on the "real" pool name which, as expected,
cannot be found because the SPA is present in the namespace with the
temporary name.

Fix this by specifying the correct pool name when setting the dataset
properties.

clarify zpool iostat statistics reporting.patch | (download)

man/man8/zpool.8 | 13 9 + 4 - 0 !
1 file changed, 9 insertions(+), 4 deletions(-)

---
delay injection can cause indefinitely hung zios.patch | (download)

module/zfs/zio.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
dont enter zvols rangelock for read bio with size 0.patch | (download)

module/zfs/zvol.c | 10 10 + 0 - 0 !
1 file changed, 10 insertions(+)

---
fix zdb crash.patch | (download)

lib/libzpool/util.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

---
zfs mount manpage should document legacy behaviour.patch | (download)

man/man8/zfs.8 | 14 11 + 3 - 0 !
1 file changed, 11 insertions(+), 3 deletions(-)

---
zfs mounted nfsv3 shares fail lock reclaims.patch | (download)

etc/systemd/system/zfs-share.service.in | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
allow rename of in use zvol dataset.patch | (download)

module/zfs/zvol.c | 6 0 + 6 - 0 !
1 file changed, 6 deletions(-)

---