Date: Thu, 24 Sep 1998 17:59:06 -0700 (PDT) From: Matthew Dillon <dillon@backplane.com> To: Luoqi Chen <luoqi@watermarkgroup.com> Cc: committers@FreeBSD.ORG Subject: Re: Kernel is hitting my debugging printf's Message-ID: <199809250059.RAA22443@apollo.backplane.com> References: <199809250052.UAA29657@lor.watermarkgroup.com>
next in thread | previous in thread | raw e-mail | index | archive | help
:Bingo! That's it! I think this is the one that's responsible for the data loss. :After the page is put on the page cache queue, it could be reclaimed for :other use. The next time you write to the same disk block, the data has to be :reread from the disk which doesn't have latest modifications. : :To fix this problem, you either could change to if statements to check for :B_DELWRI bit, or clear B_RELBUF if B_DELWRI is set earlier in the function. :I prefer the latter because it doesn't make much sense carrying the B_RELBUF :bit around. : :-lq Ok, I will throw in clearing B_RELBUF if B_DELWRI is set just before the VMIO buffer rundown in brelse() and let it run for a day or two on our news box before comitting it. -Matt
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809250059.RAA22443>