I've exercised this fix with the new zfsutils-linux package and zfs-dkms using the ubuntu zfs autotest regression tests:
ubuntu_zfs_smoke_test ubuntu_zfs_fstest ubuntu_zfs_xfs_generic ubuntu_zfs_stress ..no regressions found. These tests also touch zfs rollbacks. I don't see any regressions, so this passed testing and I'm happy for this to be released. ** Tags added: verification-done-eoan -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to zfs-linux in Ubuntu. https://bugs.launchpad.net/bugs/1847832 Title: Backport ZoL pull request 9203 into the official packages. Status in zfs-linux package in Ubuntu: In Progress Status in zfs-linux source package in Eoan: Fix Committed Bug description: == SRU Justification, EOAN == ZFS can deadlock, this can be sometimes triggered with a zfs rollback - "the zfs_resume_fs() code path may cause zfs to spawn new threads as it reinstantiates the suspended fs's zil. When a new thread is spawned, the kernel may attempt to free memory for that thread by freeing some unreferenced inodes. If it happens to select inodes that are a a part of the suspended fs a deadlock will occur because freeing inodes requires holding the fs's z_teardown_inactive_lock which is still held from the suspend." == The Fix == Backport of ZFS upstream commit e7a2fa70c3b0d8c8cee2b484038bb5623c7c1ea9 ("Fix deadlock in 'zfs rollback'") The backport is relatively simple context wiggle. == Test Case == This is hard to trigger so testing is non-trivial. To check for regressions we run the entire Ubuntu ZFS regression test suite. Without the fix rollbacks can very occasionally trip this issue. With the test, it's not possible. == Regression Potential == The fix adds in an extra z_suspended flag to track suspended state and adds an extra reference to stop the kernel from free'ing inodes on a suspected file system. The changes are small and are well-used in upstream ZFS so I believe if a regression was to have occurred it would have been found by the regression testing. --------------------- Original Bug Report Below ------------------- Hopefully this is the correct bug tracker to report this on. Recently, I ran into a bug in ZFS as shipped in Ubuntu 19.10 that caused the kernel to deadlock and the system to eventually hang. I was advised by a ZFS on Linux project maintainer that this was a bug that was fixed in 0.8.2. The relevant pull request is here: https://github.com/zfsonlinux/zfs/pull/9203 It would probably be a good idea to backport that pull request into 19.10's build of ZFS. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1847832/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp