From 12ef9f5d27c7faeb3068bf123df61ca5253adf0e Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Mon, 30 Jul 2018 12:04:49 -0700 Subject: [PATCH] hammer2 - Do not assert when shifting around error'd BREFs * When adjusting the radix tree and shifting around BREFs, do not assert if the related chain has cached an error (such as a CRC error). The BREF itself can still be moved. --- sys/vfs/hammer2/hammer2_chain.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/vfs/hammer2/hammer2_chain.c b/sys/vfs/hammer2/hammer2_chain.c index ea14f84ab8..1efa337598 100644 --- a/sys/vfs/hammer2/hammer2_chain.c +++ b/sys/vfs/hammer2/hammer2_chain.c @@ -3658,10 +3658,14 @@ hammer2_chain_rename(hammer2_chain_t **parentp, hammer2_chain_t *chain, * we currently do not have the logical buffer cache * buffer in-hand to fix its cached physical offset * we also force the modify code to not COW it. XXX + * + * NOTE! We allow error'd chains to be renamed. The bref itself + * is good and can be renamed. The content, however, may + * be inaccessible. */ hmp = chain->hmp; KKASSERT(chain->parent == NULL); - KKASSERT(chain->error == 0); + /*KKASSERT(chain->error == 0); allow */ /* * Now create a duplicate of the chain structure, associating -- 2.11.4.GIT