All of lore.kernel.org
 help / color / mirror / Atom feed
* change tracking with block-level granularity using md
@ 2013-12-18  8:04 Thomas Knauth
  2013-12-18  8:35 ` Hannes Reinecke
  2013-12-20 16:35 ` Joe Thornber
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Knauth @ 2013-12-18  8:04 UTC (permalink / raw)
  To: dm-devel

Hello list,

I am the author of the following paper

https://www.usenix.org/conference/lisa13/technical-sessions/papers/knauth

just presented at LISA 2013. Folks at the conference expressed
interested in seeing this merged into the official Linux kernel. I
would like to gauge your opinion of whether this has a chance to
actually be accepted.

The basic idea is to provide a mechanism to track changes at the block
device layer. I've based my prototype on dm-linear.c. The following
things were added:

(1) a bit vector (one bit per 4 KiB block) is used to track the changes.
(2) a pseudo-file in /proc, one per tracked device, exports the
changed block numbers

There are also two small user-space tools for convenient extraction
and merging of the modified blocks.

I'd be happy to hear your thoughts/concerns and answer questions. If I
get positive feedback, I'd prepare a patch (as outlined in
the kernel docs) and send it to the list for further dissection.

There also exists a bitbucket repository (
https://bitbucket.org/tknauth/devicemapper/ ) with all the data
related to the above paper. It also includes the code [1], albeit in
all its unpolished research hack glory.

Kind regards,
Thomas.

[1] patch file against old 3.2 kernel:
https://bitbucket.org/tknauth/devicemapper/src/ffe167007fb4c57f7b00d60ce32aa59ff4b66d61/code/dsync.diff?at=master

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: change tracking with block-level granularity using md
  2013-12-18  8:04 change tracking with block-level granularity using md Thomas Knauth
@ 2013-12-18  8:35 ` Hannes Reinecke
  2013-12-20 16:35 ` Joe Thornber
  1 sibling, 0 replies; 3+ messages in thread
From: Hannes Reinecke @ 2013-12-18  8:35 UTC (permalink / raw)
  To: Thomas Knauth; +Cc: device-mapper development

On 12/18/2013 09:04 AM, Thomas Knauth wrote:
> Hello list,
> 
> I am the author of the following paper
> 
> https://www.usenix.org/conference/lisa13/technical-sessions/papers/knauth
> 
> just presented at LISA 2013. Folks at the conference expressed
> interested in seeing this merged into the official Linux kernel. I
> would like to gauge your opinion of whether this has a chance to
> actually be accepted.
> 
Well, you just implemented an asynchronous mirror with discrete
tools. Congratulations.
Using bitmaps for tracking modified blocks has been a standard
technique in RAID1 for ages.

(look for mdadm --write-behind and drivers/md/bitmap.c. It's not
actually _new_ ...)

Sorry for being sarcastic.

But nevertheless, your tool might actually be useful; tracking block
changes could have some benefit on other areas.

What you should be doing:
- Rename the thing (dm-linear is taken; maybe dm-bitmap ?)
- Use debugfs instead of /proc
- Proper formatting

And then send the code for review.

Or go for the full monty and break up dm-mirror to include your
bitmap code. But then you would need to come up with a way of
storing your bitmap on disk.
Which is where the _real_ fun starts.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: change tracking with block-level granularity using md
  2013-12-18  8:04 change tracking with block-level granularity using md Thomas Knauth
  2013-12-18  8:35 ` Hannes Reinecke
@ 2013-12-20 16:35 ` Joe Thornber
  1 sibling, 0 replies; 3+ messages in thread
From: Joe Thornber @ 2013-12-20 16:35 UTC (permalink / raw)
  To: device-mapper development

On Wed, Dec 18, 2013 at 09:04:17AM +0100, Thomas Knauth wrote:
> Hello list,
> 
> I am the author of the following paper
> 
> https://www.usenix.org/conference/lisa13/technical-sessions/papers/knauth

I've been working on a similar problem.  There's a new target called
dm-era taking shape here:

https://github.com/jthornber/linux-2.6/blob/era/drivers/md/dm-era-target.c

It uses bloom filters to track changed blocks.  Userland tools will
access snapshots of the metadata via a metadata snapshot.  I expect to
post the finished code to dm-devel some time in Jan.

More information about what I'm trying to do can be found here:

http://device-mapper.org/blog/2013/11/12/retaining-cache-coherency-with-external-snapshots/


BTW: If you're using dm-thin your backup scenario is trivial.  Just
take a snapshot of the volumes you want to back up.  Take a metadata
snap.  Examine the metadata to see which blocks have changed since you
last backed up.  Copy data.  All you need is already written.

- Joe

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-12-20 16:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-18  8:04 change tracking with block-level granularity using md Thomas Knauth
2013-12-18  8:35 ` Hannes Reinecke
2013-12-20 16:35 ` Joe Thornber

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.