Package: zfs-linux / 0.7.12-2+deb10u2

Metadata

Package Version Patches format
zfs-linux 0.7.12-2+deb10u2 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 | 10 1 + 9 - 0 !
etc/init.d/zfs-mount.in | 10 1 + 9 - 0 !
etc/init.d/zfs-share.in | 9 1 + 8 - 0 !
etc/init.d/zfs-zed.in | 11 1 + 10 - 0 !
4 files changed, 4 insertions(+), 36 deletions(-)

 make these scripts work for debian+openrc setup.
e22bfd814960295029ca41c8e116e8d516d3e730.patch | (download)

config/kernel-fpu.m4 | 41 32 + 9 - 0 !
include/linux/simd_x86.h | 127 102 + 25 - 0 !
2 files changed, 134 insertions(+), 34 deletions(-)

 [patch] linux 5.0 compat: disable vector instructions on 5.0+ kernels

The 5.0 kernel no longer exports the functions we need to do vector
(SSE/SSE2/SSE3/AVX...) instructions.  Disable vector-based checksum
algorithms when building against those kernels.

98bb45e27ae80145a6ce028df90fccdb23f8901d.patch | (download)

include/sys/uio_impl.h | 2 1 + 1 - 0 !
module/zcommon/zfs_uio.c | 31 25 + 6 - 0 !
module/zfs/zfs_vnops.c | 24 21 + 3 - 0 !
tests/zfs-tests/cmd/mmapwrite/mmapwrite.c | 140 99 + 41 - 0 !
tests/zfs-tests/tests/functional/mmap/mmap_write_001_pos.ksh | 8 5 + 3 - 0 !
5 files changed, 151 insertions(+), 54 deletions(-)

 [patch] deadlock between mm_sem and tx assign in zfs_write() and page
 fault

The bug time sequence:
1. thread #1, `zfs_write` assign a txg "n".
2. In a same process, thread #2, mmap page fault (which means the
   `mm_sem` is hold) occurred, `zfs_dirty_inode` open a txg failed,
   and wait previous txg "n" completed.
3. thread #1 call `uiomove` to write, however page fault is occurred
   in `uiomove`, which means it need `mm_sem`, but `mm_sem` is hold by
   thread #2, so it stuck and can't complete,  then txg "n" will
   not complete.

So thread #1 and thread #2 are deadlocked.

01937958ce85b1cd8942dbaf9a3f9768c5b02a0a.patch | (download)

include/sys/dbuf.h | 4 2 + 2 - 0 !
include/sys/dnode.h | 4 2 + 2 - 0 !
module/zfs/dbuf.c | 69 23 + 46 - 0 !
module/zfs/dnode.c | 7 4 + 3 - 0 !
module/zfs/dnode_sync.c | 17 15 + 2 - 0 !
5 files changed, 46 insertions(+), 55 deletions(-)

 [patch] openzfs 9577 - remove zfs_dbuf_evict_key tsd

The zfs_dbuf_evict_key TSD (thread-specific data) is not necessary -
we can instead pass a flag down in a few places to prevent recursive
dbuf eviction. Making this change has 3 benefits:

1. The code semantics are easier to understand.
2. On Linux, performance is improved, because creating/removing
   TSD values (by setting to NULL vs non-NULL) is expensive, and
   we do it very often.
3. According to Nexenta, the current semantics can cause a
   deadlock when concurrently calling dmu_objset_evict_dbufs()
   (which is rare today, but they are working on a "parallel
   unmount" change that triggers this more easily):

Porting Notes:
* Minor conflict with OpenZFS 9337 which has not yet been ported.

Authored by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Serapheim Dimitropoulos <serapheim.dimitro@delphix.com>
Reviewed by: Brad Lewis <brad.lewis@delphix.com>