tech-kern archive

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

Re: bad KASSERT in buffer cache code



On Mon, Jul 14, 2008 at 02:44:27PM +0200, Matthias Drochner wrote:
> 
> That check - see attachment - fires as soon as I try to
> write to the MSDOS filesystem on a USB stick.
> With the check commented out I haven't seen any bad effect.
> OK to remove it?

No.  How should MSDOS fire on bp->b_vp->v_tag != VT_UFS ?

Do you have a backtrace?

Content-Description: assert.txt
> #
> # old_revision [b0293fd440ffeb0cc85778a3a79fcbb762e17b78]
> #
> # patch "sys/kern/vfs_bio.c"
> #  from [2b7054fe3c02a31022a954272243d9a12ecf3808]
> #    to [4ae878927d9e502119f33fa82b4caad5685aeeed]
> #
> ============================================================
> --- sys/kern/vfs_bio.c        2b7054fe3c02a31022a954272243d9a12ecf3808
> +++ sys/kern/vfs_bio.c        4ae878927d9e502119f33fa82b4caad5685aeeed
> @@ -885,9 +885,10 @@ bdwrite(buf_t *bp)
>  void
>  bdwrite(buf_t *bp)
>  {
> -
> +#if 0
>       KASSERT(bp->b_vp == NULL || bp->b_vp->v_tag != VT_UFS ||
>           ISSET(bp->b_flags, B_COWDONE));
> +#endif
>       KASSERT(ISSET(bp->b_cflags, BC_BUSY));
>       KASSERT(!cv_has_waiters(&bp->b_done));
>  


-- 
Juergen Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)


Home | Main Index | Thread Index | Old Index