public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@arcor.de>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Andi Kleen <ak@muc.de>, Alasdair G Kergon <agk@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 3/5: Device-mapper: snapshots
Date: Sat, 3 Jul 2004 05:09:27 -0400	[thread overview]
Message-ID: <200407030509.27762.phillips@arcor.de> (raw)
In-Reply-To: <40E64C50.5010906@pobox.com>

On Saturday 03 July 2004 02:04, Jeff Garzik wrote:
> Daniel Phillips wrote:
> > 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).
>
> Barriers as discussed on lkml ensure your data is committed to stable
> storage, not simply completed requests.  In SCSI this means ordered
> tags, FUA, or cache flushing.  Ditto ATA (cache flushing, mostly).

I meant, I didn't know why he thought barriers might apply in this case, but 
now that you mention it, yes we risk the same bugs with certain hardware as, 
say, a journal commit does.  We need to do something about that at some 
point.  (I see that the barrier patch hasn't made it to mainline yet, and 
actually, that's good because it needs to be looked at critically.)

Anyway (reading Andi's mind) it seems the snapshot durability strategy just 
wasn't obvious on a light reading.  It certainly wasn't obvious to me without 
clarification from Joe Thornber, from whose fertile imagination this clever 
hack apparently sprang.  Yes, these details need to be documented.

Regards,

Daniel

  reply	other threads:[~2004-07-03  9:03 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
2004-07-03  6:04     ` Jeff Garzik
2004-07-03  9:09       ` Daniel Phillips [this message]
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=200407030509.27762.phillips@arcor.de \
    --to=phillips@arcor.de \
    --cc=agk@redhat.com \
    --cc=ak@muc.de \
    --cc=jgarzik@pobox.com \
    --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