dm-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Joe Thornber <thornber@redhat.com>
To: device-mapper development <dm-devel@redhat.com>
Subject: Re: Multisnap / dm-thin
Date: Thu, 19 Jan 2012 09:33:45 +0000	[thread overview]
Message-ID: <20120119093343.GB3942@ubuntu> (raw)
In-Reply-To: <4F16A07C.7040705@shiftmail.org>

On Wed, Jan 18, 2012 at 11:35:40AM +0100, Spelic wrote:
> Hello all,
> I would need the multisnap feature, i.e., the ability to make many
> snapshots without high performance degradation...
> I saw it mentioned around, but it does not seem to be in the kernel
> yet. Is it planned to be introduced? Is there an ETA?
> 
> Note that I am not very fond of the new dm-thin which is planned to
> have a multisnap-equivalent feature, because of the fragmentation it
> will cause (I suppose a defragmenter is long way to come). Not
> having fragmentation is the reason for using blockdevices instead of
> loop mounted files after all isn't it?

The point of multisnap is that blocks of data are shared between
multiple snapshots (unlike the current single snap implementation).
Saving both disk space, and probably more importantly, redundant
copying.  As such I struggle to see why you think it's possible to do
this and keep all the data contiguous.  Both Mikulas' multisnap, and
my thinp, use btrees to store the metadata, and allocate data blocks
on a first come first served basis.

Fragmentation is a big concern; but until I have a good idea what real
world usage patterns for thinp are I'm a bit short of data to base any
improvements to the allocator on.  If you want to help I'd love to
know your usage scenario, and the slow down you're observing as the
pool ages.

As far as a defragmenter goes.  My first approach will be allowing
people to set a 'copy-on-read' flag on thin devices that they feel are
too fragmented.  This will then trigger the current machinery for
breaking sharing - but reallocating according to the _current_ io
usage pattern.  This should be a very small change, when I see
real world fragmentation, I'll implement it.

Maybe your requirement is for the origin to be a preexisting,
contiguous device?  In which case see the other discussion thread with
Ted Tso.

- Joe

  reply	other threads:[~2012-01-19  9:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-18 10:35 Multisnap / dm-thin Spelic
2012-01-19  9:33 ` Joe Thornber [this message]
2012-01-19 12:21   ` Spelic
2012-01-19 14:58     ` Joe Thornber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120119093343.GB3942@ubuntu \
    --to=thornber@redhat.com \
    --cc=dm-devel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).