Messages in this thread | | | Date | Tue, 10 Apr 2001 15:03:10 -0700 | From | Rajagopal Ananthanarayanan <> | Subject | Re: BH_Req question |
| |
Andrea Arcangeli wrote: > [ ... ] > > BH_Req is never unset until the buffer is destroyed (put back on the freelist). > BH_Req only says if such a buffer ever did any I/O yet or not. It is basically > only used to deal with I/O errors in sync_buffers().
Interesting. Thanks for the explanation. Since submit_bh was setting BH_Req, I was misled into thinking that end_io would unset it ...
> > > PS: In case why the question: I've got a system with tons of > > pages with buffers marked BH_Req, so try_to_free_buffers() bails > > out thinking that the buffer is busy ... > > Either your debugging is wrong or you broke try_to_free_buffers because a > buffer with BH_Req must still be perfectly freeable.
Okay, I got distracted by BH_Req, which I mistook to be in BUFFER_BUSY_BITS. There was also BH_Lock set on the buffers, which would qualify for BUFFER_BUSY_BITS ... so may be it is a buffer_locking problem somewhere.
cheers,
ananth.
-------------------------------------------------------------------------- Rajagopal Ananthanarayanan ("ananth") Member Technical Staff, SGI. -------------------------------------------------------------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |