NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/52056: mount -u / causes a kernel assertion

The following reply was made to PR kern/52056; it has been noted by GNATS.

From: =?UTF-8?B?SmFyb23DrXIgRG9sZcSNZWs=?= <>
Subject: Re: kern/52056: mount -u / causes a kernel assertion
Date: Thu, 9 Mar 2017 23:30:52 +0100

 I've looked on the code, and basically this assertion means that there
 was a bdwrite() done with same buf before MNT_LOG was enabled, and no
 bwrite() happened between that bdwrite() and the bdwrite() triggering
 the assertion.
 wapbl_add_buf() is invoked in bdwrite(), before the BO_DELWRI flag is
 set. It adds the buffer to internal WAPBL list, then sets the B_LOCKED
 The assertion fires only when buf still doesn't have B_LOCKED set, but
 already has BO_DELWRI set. This flow should be impossible.
 I suspect something is still not quite right with the ro/rw switch
 after recent changes. Juergen, any idea? Perhaps having the filesystem
 mounted async might possibly trigger some arcane flow?

Home | Main Index | Thread Index | Old Index