linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Gionatan Danti <g.danti@assyoma.it>
Cc: linux-xfs@vger.kernel.org
Subject: Re: Reflink (cow) copy of busy files
Date: Sun, 25 Feb 2018 13:47:27 +1100	[thread overview]
Message-ID: <20180225024727.GD30854@dastard> (raw)
In-Reply-To: <711dd96e3c4b3e92d3fb38a01e77dc64@assyoma.it>

On Sat, Feb 24, 2018 at 11:57:32PM +0100, Gionatan Danti wrote:
> Il 24-02-2018 23:07 Dave Chinner ha scritto:
> >Define "busy file", please.
> 
> Think about a running virtual machine. Maybe an XFS-based virtual
> image (ie: a CentOS 7 guest).
> 
> >If the file is being actively written, then the clone will not be
> >consistent.
> >
> >Yes, it's just like any other snapshot process - you have to quiesce
> >everything that is writing to the file before cloning it. i.e. the
> >data in the file needs to be in a stable, consistent, unchanging
> >state if you want the clone to contain consistent data...
> 
> About *what* level of consistency are we speaking? I understand that
> application-level consistency requires a quiesced filesystem and,
> possibly, an application-level agent. But is it a quiesced
> filesystem a requisite for a *crash-consistent* ie: pull the plug)
> snapshot?

Yes, you have to freeze the filesystem to get a crash-consistent
snapshot of the filesystem.

> In other words: would a cp --reflink=always <vmdisk> <snapshot> of a
> runnig virtual machine produce an usable, crash-consistent snapshot,
> or it risks ending with binary garbage?

You will end up with garbage.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2018-02-25  2:47 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-24 18:20 Reflink (cow) copy of busy files Gionatan Danti
2018-02-24 22:07 ` Dave Chinner
2018-02-24 22:57   ` Gionatan Danti
2018-02-25  2:47     ` Dave Chinner [this message]
2018-02-25 11:40       ` Gionatan Danti
2018-02-25 21:13         ` Dave Chinner
2018-02-25 21:58           ` Gionatan Danti
2018-02-26  0:25             ` Dave Chinner
2018-02-26  7:19               ` Gionatan Danti
2018-02-26  7:58                 ` Amir Goldstein
2018-02-26  8:26                   ` Gionatan Danti
2018-02-26 17:26                     ` Darrick J. Wong
2018-02-26 21:23                       ` Gionatan Danti
2018-02-26 21:31                         ` Darrick J. Wong
2018-02-26 21:39                           ` Gionatan Danti
2018-02-27  0:33                       ` Dave Chinner
2018-02-27  0:58                         ` Darrick J. Wong
2018-02-27  8:06                         ` Gionatan Danti
2018-02-27 22:04                           ` Dave Chinner
2018-02-28  7:08                             ` Gionatan Danti
2018-02-28 17:07                               ` Darrick J. Wong
2018-02-28 18:27                                 ` Gionatan Danti
2018-02-26 20:29                     ` Amir Goldstein
2018-02-26 21:28                       ` Gionatan Danti

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=20180225024727.GD30854@dastard \
    --to=david@fromorbit.com \
    --cc=g.danti@assyoma.it \
    --cc=linux-xfs@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;
as well as URLs for NNTP newsgroup(s).