Re: [dm-devel] Snapshot target and DAX-capable devices

Theodore Y. Ts'o
2018-12-14T04:11:23Z

On Wed, Dec 12, 2018 at 05:43:22PM -0500, Mike Snitzer wrote:
> > I would expect that dm-snapshot will be used quite a lot for
> > short-lived snapshots (that only live during a database backup or an
> > fsck run). I would hardly call that a "niche use case".
>
> dm-snapshot is only ~60% performant for 1 snapshot. Try to do
> additional snapshots and performance crawls to a stop (though I haven't
> reassessed performance in a while).
>
> dm-snapshot has been in Linux since before 2005, I don't know of all the
> users of it -- maybe there are a ton of users who only take a single
> temporary snapshot and we're all oblivious.

Well, here's one user:

https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/scrub/e2scrub.in

This is a spiffed up version of my original script:

https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/contrib/e2croncheck

I suppose we should look into enhancing e2scrub so it can deal with
volumes stored on dm-thin pools.....

> dm-thinp has the concept of an "external origin". Changes to origin LVM
> volume get copied out to the thin-pool (same copy cost as old
> dm-snapshot). But IIRC from that point on your LVM volume is a dm-thin
> device.

I would think the *snapshot* would have to be the dm-thin device, not
the origin volume, correct?

The original LVM module would still be mounted through the original
LVM device-mapper device, so it couldn't get transmogrified to be a
dm-thin device, right?

- Ted