]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
UBUNTU: SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)
authorColin Ian King <colin.king@canonical.com>
Mon, 26 Mar 2018 11:11:18 +0000 (12:11 +0100)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Mon, 26 Mar 2018 13:22:25 +0000 (10:22 -0300)
commitbc0adba16e0600a898435fa22c803f15e3caa866
treee4cb72657b26fb6ec57af54371f185ba600f39cb
parentf73e894b70499ea945453f32b8f95928db98f06e
UBUNTU: SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)

BugLink: https://bugs.launchpad.net/bugs/1754584
Fix mmap'd libaio read on non-prefaulted page deadlock. This is a hot fix
from ZFS upstream that ensure pages are pre-faulted in to avoid deadlock.
Performing a read with the target data in a mmap'd page that is map'd into
the same blocks that are being read causes a lock on the page and a further
lock on the same page when the page is being faulted in, causing deadlock.
The current workaround is to prefault the page(s) before the pages are
read.

This is no current upstream commit ID for this fix, as it landed late on
Friday and it's not commited to upstream ZFS. The fix has passed our ZFS
regression tests and fixes the issue, so I'd like to get this included
into Bionic sooner than later.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
19 files changed:
zfs/META
zfs/Makefile.in
zfs/aclocal.m4
zfs/config/user-libaio.m4 [new file with mode: 0644]
zfs/config/user.m4
zfs/config/zfs-build.m4
zfs/configure
zfs/include/Makefile.in
zfs/include/linux/Makefile.in
zfs/include/sys/Makefile.in
zfs/include/sys/crypto/Makefile.in
zfs/include/sys/fm/Makefile.in
zfs/include/sys/fm/fs/Makefile.in
zfs/include/sys/fs/Makefile.in
zfs/include/sys/sysevent/Makefile.in
zfs/include/sys/uio_impl.h
zfs/module/zcommon/zfs_uio.c
zfs/module/zfs/zfs_vnops.c
zfs/zfs_config.h.in