APPLIED: [PATCH 0/2][SRU][XENIAL] Fix non-prefaulted page deadlock

Kleber Souza kleber.souza at canonical.com
Tue Apr 3 16:08:19 UTC 2018


On 03/28/18 17:44, 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) zfs to 0.6.5.6-0ubuntu19
>   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/contrib/Makefile.in                   |  2 +
>  zfs/contrib/bash_completion.d/Makefile.in |  2 +
>  zfs/contrib/dracut/90zfs/Makefile.in      |  2 +
>  zfs/contrib/dracut/Makefile.in            |  2 +
>  zfs/contrib/initramfs/Makefile.in         |  2 +
>  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 ++
>  21 files changed, 180 insertions(+), 2 deletions(-)
>  create mode 100644 zfs/config/user-libaio.m4
> 

Applied to xenial/master-next branch.

Thanks,
Kleber




More information about the kernel-team mailing list