Re: [RFC] set_blocksize() oddity.

Andrea Arcangeli (andrea@e-mind.com)
Sat, 10 Apr 1999 01:13:11 +0200 (CEST)


On Fri, 9 Apr 1999, Alexander Viro wrote:

>> The bug of nr_hashed_buffers inconsistency is due where
>> nr_hashed_buffers++ nr_hashed_buffers-- are been placed by me. They has to
>> be placed in the path where pprev is != 0. It's really a minor issue
>> though.
> I'm not sure...

I agree completly that fixing/cleaning-up other code will desiderable too,
but moving nr_hashed_buffers where we really hash/unhash entries will
_assure_ us that nr_hashed_buffers will be _always_ relialable.

> It looks like we actually need to replace
>remove_from_hash_queue(bh);
> with
>remove_from_queues(bh);
>bh->b_dev = B_FREE;
>insert_into_queues(bh);

I just said exactly that some days ago in my _first_ email with the
subject `buffer.c glitches'. Both invalidate_buffers() and set_blocksize()
should put all invalidated buffers in the freelist.

Andrea Arcangeli

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/