-   Linux - Newbie (
-   -   loop device BH_Dirty bit (

devershetty 07-16-2003 06:50 AM

loop device BH_Dirty bit
Hi All,

I am just curious to know the following.
Loop device ( drivers/block/loop.c) simply sets BH_Dirty flag as snippet shows.
and queues the buffer_head of WRITE requests. Why does it set BH_Dirty bit?
But understand ll_rw_block()(drivers/block/ll_rw_blk.c) function clears this flag in block I/O path to make_request_fn of loop device.

if (lo->lo_flags & LO_FLAGS_DO_BMAP) {
* rbh locked at this point, noone else should clear
* the dirty flag
if (rw == WRITE)
set_bit(BH_Dirty, &rbh->b_state);
loop_add_bh(lo, rbh);
return 0;

This bit is cleared after loop_thread processes queue requests.
Thanks for Any help.

All times are GMT -5. The time now is 08:14 PM.