HomeFreeBSD

[FreeBSD] fix false assert in cache_vop_rmdir when replaying ZIL

Description

[FreeBSD] fix false assert in cache_vop_rmdir when replaying ZIL

The assert is enabled when DEBUG_VFS_LOCKS kernel option is set.
The exact panic is:

panic: condition seqc_in_modify(_vp->v_seqc) not met

It happens because seqc protocol is not followed for ZIL replay.

But we actually do not need to make any namecache calls at that stage,
because the namecache use is not enabled until after the replay is
completed.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Andriy Gapon <avg@FreeBSD.org>
Closes #14566

Details

Provenance
avgAuthored on Mar 7 2023, 9:48 PM
GitHub <noreply@github.com>Committed on Mar 7 2023, 9:48 PM
Parents
rG119138701222: spl: Add cmn_err_once() to log a message only on the first call
Branches
Unknown
Tags
Unknown