git: DragonFly_RELEASE_5_0 hammer2 - Fix "hammer2_chain_getparent: no parent" assertion
dillon at crater.dragonflybsd.org
Sun Oct 29 14:50:25 PDT 2017
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Oct 29 10:48:15 2017 -0700
hammer2 - Fix "hammer2_chain_getparent: no parent" assertion
* Inodes are placed on the pmp->sideq when a flush action is required
but no vnode association exists. This is most typically done when
a vnode is reclaimed. The sideq code also handles destroying an
unlinked inode on last-close.
* It is possible for an already-deleted inode (not just unlinked, but
also deleted from the topology) to wind up on the sideq list, resulting
in the above assertion.
* Fix the assertion by handling the case. Just flush the inode normally
instead of trying to re-delete it. The related in-memory topology will
be destroyed automatically.
Summary of changes:
sys/vfs/hammer2/hammer2_inode.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
DragonFly BSD source repository
More information about the Commits