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