[dm-devel] dm-cache coherence issue
Joe Thornber
thornber at redhat.com
Tue Jun 27 09:44:09 UTC 2017
On Mon, Jun 26, 2017 at 10:36:23PM +0200, Johannes Bauer wrote:
> On 26.06.2017 21:56, Mike Snitzer wrote:
>
> >> Interesting, I did *not* change to writethrough. However, there
> >> shouldn't have been any I/O on the device (it was not accessed by
> >> anything after I switched to the cleaner policy).
> [...]
> >> Anyways, I'll try to replicate my scenario again because I'm actually
> >> quite sure that I did everything correctly (I did it a few times).
> >
> > Except you didn't first switch to writethrough -- which is _not_
> > correct.
>
> Absolutely, very good to know. So even without any I/O being request,
> dm-cache is allowed to "hold back" pages as long as the dm-cache device
> is in writeback mode? Would this also explain why the "dmsetup wait"
> hung indefinitely?
Some things to try to see if it makes a difference:
- unmount the cache before checksumming it so we know there's no IO from
the page cache going in.
- deactivate the cache before checksumming the origin.
- Stop using encryption on top of cache and see if that makes a
difference.
- Use 'dmsetup wait' properly, as Mike mentioned. See the following code
from dmtest:
https://github.com/jthornber/device-mapper-test-suite/blob/master/lib/dmtest/cache_utils.rb#L28
https://github.com/jthornber/device-mapper-test-suite/blob/master/lib/dmtest/device-mapper/event_tracker.rb
- use md5sum rather than your checksum program. Humour me.
- Joe
More information about the dm-devel
mailing list