public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@arcor.de>
To: Andi Kleen <ak@muc.de>
Cc: Alasdair G Kergon <agk@redhat.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 3/5: Device-mapper: snapshots
Date: Sat, 3 Jul 2004 01:30:02 -0400	[thread overview]
Message-ID: <200407030130.02067.phillips@arcor.de> (raw)
In-Reply-To: <m3r7sx6dip.fsf@averell.firstfloor.org>

On Wednesday 02 June 2004 14:06, Andi Kleen wrote:
> Alasdair G Kergon <agk@redhat.com> writes:
> > +
> > +/*-----------------------------------------------------------------
> > + * Persistent snapshots, by persistent we mean that the snapshot
> > + * will survive a reboot.
> > + *---------------------------------------------------------------*/
>
> Is this target supposed to be crash safe? What happens when
> the computer crashes while writing to such a volume?
>
> I suppose it would need barriers for that at least, which it doesn't
> seem to use.

Hi Andi,

Please pardon the one month lag, I must bug Zack about getting Kernel Traffic 
out faster ;)

It is designed to be crash-safe:

  - Each snapshot exception is logged to disk by overwriting the last sector
    of a grow-only list of snapshot exceptions.

  - Write completion is not handed back up the chain until:

      - the data to be overwritten has been copied to a new exception
      - the new exception has been logged to the snapshot store as above

As far as I can see, the concept is leak-proof, except for being sensitive to 
random garbage in the last few sector writes.  I suspect that doesn't happen 
on modern disk drives.  If it does, I hope somebody will shout.

I am not sure what you mean about barriers, perhaps you were thinking of 
synchronous waiting.  This snapshot driver does wait for completions, but it 
pipelines the waits so throughput is not affected much (snapshot overhead is 
dominated by copyouts).

Incidently, there is an entirely new snapshot design coming down the pipe that 
uses a more traditional, journalling design to achieve the necessary 
hardware-like durability.

Regards,

Daniel

  parent reply	other threads:[~2004-07-03  5:23 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <22Gkd-1AX-17@gated-at.bofh.it>
2004-06-02 18:06 ` [PATCH] 3/5: Device-mapper: snapshots Andi Kleen
2004-06-02 18:59   ` Alasdair G Kergon
2004-06-02 19:20     ` Andi Kleen
2004-06-02 22:02       ` Alasdair G Kergon
2004-07-03  5:30   ` Daniel Phillips [this message]
2004-07-03  6:04     ` Jeff Garzik
2004-07-03  9:09       ` Daniel Phillips
2004-06-02 15:42 Alasdair G Kergon

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=200407030130.02067.phillips@arcor.de \
    --to=phillips@arcor.de \
    --cc=agk@redhat.com \
    --cc=ak@muc.de \
    --cc=linux-kernel@vger.kernel.org \
    /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