]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Handle and detect #13709's unlock regression (#14161)
authorRich Ercolani <214141+rincebrain@users.noreply.github.com>
Tue, 15 Nov 2022 22:44:12 +0000 (17:44 -0500)
committerTony Hutter <hutter2@llnl.gov>
Thu, 1 Dec 2022 20:39:43 +0000 (12:39 -0800)
commitfa7d572a8a3298d446fc4f64a263c125c325b7c8
treed422dde5f8439e398a1e52e3b9ad36099b19dd2b
parentd9de079a4b9cde7b1a958512ce8948a57324c518
Handle and detect #13709's unlock regression (#14161)

In #13709, as in #11294 before it, it turns out that 63a26454 still had
the same failure mode as when it was first landed as d1d47691, and
fails to unlock certain datasets that formerly worked.

Rather than reverting it again, let's add handling to just throw out
the accounting metadata that failed to unlock when that happens, as
well as a test with a pre-broken pool image to ensure that we never get
bitten by this again.

Fixes: #13709
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
module/zfs/dsl_crypt.c
tests/runfiles/common.run
tests/zfs-tests/tests/functional/userquota/13709_reproducer.bz2 [new file with mode: 0644]
tests/zfs-tests/tests/functional/userquota/Makefile.am
tests/zfs-tests/tests/functional/userquota/userspace_encrypted_13709.ksh [new file with mode: 0755]