[PATCH 0/2][SRU][XENIAL] Fix non-prefaulted page deadlock
Colin Ian King
colin.king at canonical.com
Wed Mar 28 15:40:50 UTC 2018
Ugh, that should be ARTFUL and not XENIAL.
On 28/03/18 16:39, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> BugLink: https://bugs.launchpad.net/bugs/1754584
>
> SRU Request [Xenial]
>
> == Justification ==
>
> It is possible to hang zfs asynchronous reads if a read to a page that
> is mmap'd onto the the file being read is the same offset in the
> mapping as in the file. This is caused by two lock operations on the page.
>
> == Fix ==
>
> Upstream ZFS hot-fix to ensure the page is not double-locked during async
> I/O of one or more pages.
>
> == Testing ==
>
> Create a zfs pool + zfs file system, run the reproducer program in comment
> #28 on the zfs filesystem. Without the fix this can lock up, with the fix
> this runs to completion.
>
> == Regression Potential ==
>
> Minimal, the locking fix addresses a fundamental bug in the locking and
> this should not affect ZFS read/write I/O with this fix.
>
> Colin Ian King (2):
> UBUNTU: SAUCE: (noup) Update zfs to 0.6.5.11-1ubuntu3.2
> UBUNTU: SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)
>
> zfs/META | 2 +-
> zfs/Makefile.in | 2 ++
> zfs/aclocal.m4 | 1 +
> zfs/config/user-libaio.m4 | 14 ++++++++
> zfs/config/user.m4 | 1 +
> zfs/config/zfs-build.m4 | 2 ++
> zfs/configure | 71 +++++++++++++++++++++++++++++++++++++++
> zfs/include/Makefile.in | 2 ++
> zfs/include/linux/Makefile.in | 2 ++
> zfs/include/sys/Makefile.in | 2 ++
> zfs/include/sys/fm/Makefile.in | 2 ++
> zfs/include/sys/fm/fs/Makefile.in | 2 ++
> zfs/include/sys/fs/Makefile.in | 2 ++
> zfs/include/sys/zfs_ioctl.h | 62 ++++++++++++++++++++++++++++++++++
> zfs/module/zfs/zfs_vnops.c | 2 +-
> zfs/zfs_config.h.in | 3 ++
> 16 files changed, 170 insertions(+), 2 deletions(-)
> create mode 100644 zfs/config/user-libaio.m4
>
More information about the kernel-team
mailing list