[PATCH 0/2][SRU][ARTFUL] Fix non-prefaulted page deadlock

Colin King colin.king at canonical.com
Wed Mar 28 15:42:50 UTC 2018


From: Colin Ian King <colin.king at canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1754584

SRU Request [Artful]

== 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

-- 
2.7.4





More information about the kernel-team mailing list