[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: LVM 0.9.1beta7 and ext3 0.0.6b



Hi,

On Mon, May 07, 2001 at 12:54:07PM -0700, Jay Weber wrote:
> I'm still digging into this one.  Here's what I've been able to discover.
> With Stephen's suggested patch applied to __invalidate_buffers() we still
> see the "refile free buffer" at times.

With what backtrace?  Can you trap it to see?

> What I'm seeing in kdb output is that the buffer head that is failing in
> the refile_buffer() test has a b_dev == B_FREE and b_list == BUF_LOCKED.
> All the other bits appear clear (in the kdbm_jfs bh command output).

Is there any buffer state in the bh?

> So, not really knowing what all I'm doing in this case I started adding
> some hunks of code to __invalidate_buffers.  It currently looks something
> like the following:
> 
>                         if (!bh->b_count && bh->b_jlist == BJ_None &&
>                             (destroy_dirty_buffers || !buffer_dirty(bh)))

It's conceivable that the b_jlist check is necessary.  It rather
depends on where __invalidate_buffers is being called.  That's
definitely something for me to add in the ext3 tree, though, as a
safety-net.

Did this ever happen before 0.0.6?  The new dirty buffer handling code
could well be relevant here, as ext3 now keeps its dirty state
separate and so a journaled buffer is no longer necessarily going to
look dirty to invalidate_buffers().

Cheers,
 Stephen





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]