]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
When non-forced unmount or remount rw->ro is performed, writes on UFS
authorKonstantin Belousov <kib@FreeBSD.org>
Sun, 2 Nov 2014 13:14:55 +0000 (13:14 +0000)
committerKonstantin Belousov <kib@FreeBSD.org>
Sun, 2 Nov 2014 13:14:55 +0000 (13:14 +0000)
commitca109b01cfa1248e5b1083566b25d45de116de74
tree6c24d0538e5d16a2de3754199936ee9deff045ea
parent72ba3c08229ee5416a064891dda7e6ff78fe616c
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
sys/ufs/ffs/ffs_softdep.c