[dm-devel] [PATCH 0/2] dm thin: Flush data device before committing metadata to avoid data corruption

Mike Snitzer snitzer at redhat.com
Wed Dec 4 20:17:10 UTC 2019


On Wed, Dec 04 2019 at  2:58pm -0500,
Eric Wheeler <dm-devel at lists.ewheeler.net> wrote:

> On Wed, 4 Dec 2019, Nikos Tsironis wrote:
> 
> > The thin provisioning target maintains per thin device mappings that map
> > virtual blocks to data blocks in the data device.
> > 
> > When we write to a shared block, in case of internal snapshots, or
> > provision a new block, in case of external snapshots, we copy the shared
> > block to a new data block (COW), update the mapping for the relevant
> > virtual block and then issue the write to the new data block.
> > 
> > Suppose the data device has a volatile write-back cache and the
> > following sequence of events occur:
> 
> For those with NV caches, can the data disk flush be optional (maybe as a 
> table flag)?

IIRC block core should avoid issuing the flush if not needed.  I'll have
a closer look to verify as much.

Mike




More information about the dm-devel mailing list