Message ID | 20180328153940.10077-1-colin.king@canonical.com |
---|---|
Headers | show |
Series | Fix non-prefaulted page deadlock | expand |
Ugh, that should be ARTFUL and not XENIAL. On 28/03/18 16:39, Colin King wrote: > From: Colin Ian King <colin.king@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 >
I'll resend, got the series totally wrong. On 28/03/18 16:39, Colin King wrote: > From: Colin Ian King <colin.king@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 >
From: Colin Ian King <colin.king@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