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=?= <jaromir.dolecek%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
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
 flag.
 
 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