[dm-devel] bufio & write completion indication

Mikulas Patocka mpatocka at redhat.com
Tue Sep 25 23:07:42 UTC 2012



On Wed, 26 Sep 2012, Kasatkin, Dmitry wrote:

> Hi,
> 
> I have a question.
> 
> How dm target can be sure that data really have been written to storage?
> 
> - for remaped request
> bio_end really indicates that?
> or data can be stuck in block buffers?

No. When bio_endio is called, data may still be in hardware cache in the 
disk and not yet written to the disk. After you receive bio_endio for a 
write bio, you must submit another bio with REQ_FLUSH flag to flush the 
hardware cache (or you can use blkdev_issue_flush to send it).

> - for bufio requests
> dm_bufio_write_dirty_buffers() provides that ?

Yes. dm_bufio_write_dirty_buffers calls dm_bufio_issue_flush and 
dm_bufio_issue_flush flushes the hardware cache.

Mikulas

> 
> Thanks,
> Dmitry
> 




More information about the dm-devel mailing list