HomeFreeBSD

When non-forced unmount or remount rw->ro is performed, writes on UFS

Description

When non-forced unmount or remount rw->ro is performed, writes on UFS
are not suspended. In particular, on the SU-enabled vulumes, there is
no reason why, between the call to softdep_flushfiles() and
softdep_waitidle(), SU work items cannot be queued.

Correct the condition to trigger the panic by only checking when
forced operation is done. Convert direct panic() call into KASSERT(),
there is no invalid on-disk data structures directly involved, so
follow the usual debugging vs. non-debugging approach.

Reported and tested by: pho
Reviewed by: mckusick
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

Details

Provenance
kibAuthored on
Reviewer
mckusick
Parents
rS273966: Fix two issues with lockmgr(9) LK_CAN_SHARE() test, which determines
Branches
Unknown
Tags
Unknown

Event Timeline