bufio & write completion indication
On Wed, 26 Sep 2012, Kasatkin, Dmitry wrote:
> 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.
dm-devel mailing list