--- a/sys/vfs/hammer/hammer_transaction.c +++ b/sys/vfs/hammer/hammer_transaction.c @@ -50,9 +50,11 @@ hammer_start_transaction(hammer_transaction_t trans, hammer_mount_t hmp) trans->type = HAMMER_TRANS_STD; trans->hmp = hmp; trans->rootvol = hammer_get_root_volume(hmp, &error); - KKASSERT(error == 0); + if (error) { + trans->rootvol = NULL; + panic("hammer: root volume header reload failed: %d", error); + } trans->tid = 0; @@ -75,9 +77,11 @@ hammer_simple_transaction(hammer_transaction_t trans, hammer_mount_t hmp) trans->type = HAMMER_TRANS_RO; trans->hmp = hmp; trans->rootvol = hammer_get_root_volume(hmp, &error); - KKASSERT(error == 0); + if (error) { + trans->rootvol = NULL; + panic("hammer: root volume header reload failed: %d", error); + } trans->tid = 0; @@ -106,9 +110,11 @@ hammer_start_transaction_fls(hammer_transaction_t trans, hammer_mount_t hmp) trans->type = HAMMER_TRANS_FLS; trans->hmp = hmp; trans->rootvol = hammer_get_root_volume(hmp, &error); - KKASSERT(error == 0); + if (error) { + trans->rootvol = NULL; + panic("hammer: root volume header reload failed: %d", error); + } trans->tid = hammer_alloc_tid(hmp, 1);