]> 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)
committerGitHub <noreply@github.com>
Tue, 15 Nov 2022 22:44:12 +0000 (14:44 -0800)
commit2163cde450d0898b5f7bac16afb4e238485411ff
treeaf9a24508cf249c1e7a0c9ea211792a7c990990f
parentb445b25b273d263f032fadd717e5731185b74bf5
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/Makefile.am
tests/zfs-tests/tests/functional/userquota/13709_reproducer.bz2 [new file with mode: 0644]
tests/zfs-tests/tests/functional/userquota/userspace_encrypted_13709.ksh [new file with mode: 0755]