On Wed, Dec 12 2018 at 4:15pm -0500,
Theodore Y. Ts'o <tytso(a)mit.edu> wrote:
On Wed, Dec 12, 2018 at 12:50:47PM -0500, Mike Snitzer wrote:
> On Wed, Dec 12 2018 at 11:12am -0500,
> Christoph Hellwig <hch(a)infradead.org> wrote:
>
> > Does it really make sense to enhance dm-snapshot? I thought all serious
> > users of snapshots had moved on to dm-thinp?
>
> There are cases where dm-snapshot is still useful for people. But those
> are very niche users. I'm not opposed to others proposing enhancements
> for dm-snapshot in general but it is definitely not a priority (Google's
> dm-bow is an example of a case where dm-snapshot may get extended to
> fulfill google's needs).
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.
Definitely not seeing many bugs against it (but it has been around
forever). I do know that there are relatively few people showing
interest in it. But for 4.21 I did stage a couple useful performance
fixes:
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.gi...
https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.gi...
One other major advantage that dm-snapshot has is that you can take
a
snapshot for any LVM volume. For dm-thinp you have migrate your
storage to a thinp pool, and that adds a fair amount of friction to
users migrating to dm-thinp.
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.
Mike