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. -Kotresh. |
All times are GMT -5. The time now is 10:02 AM. |