DF-3109 / fix.diff
--- a/sys/vfs/hammer/hammer_cursor.c +++ b/sys/vfs/hammer/hammer_cursor.c @@ -198,8 +198,11 @@ hammer_init_cursor(hammer_cursor_t cursor, hammer_transaction_t trans, /* * Step 3 - finish initializing the cursor by acquiring the parent */ cursor->node = node; if (error == 0) error = hammer_load_cursor_parent(cursor, 0); - KKASSERT(error == 0); - /* if (error) hammer_done_cursor(cursor); */ + if (error) { + hammer_done_cursor(cursor); + cursor->node = NULL; + cursor->ip = NULL; + return (error); + } return(error); } |