linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: "Xin Zhao" <uszhaoxin@gmail.com>
Cc: "Bryan Henderson" <hbryan@us.ibm.com>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: how do versioning filesystems take snapshot of opened files?
Date: Tue, 3 Jul 2007 13:38:30 -0400	[thread overview]
Message-ID: <20070703133830.0e83a6bf@think.oraclecorp.com> (raw)
In-Reply-To: <4ae3c140707031015y6f4a461vda7c683fd8f969ce@mail.gmail.com>

On Tue, 3 Jul 2007 13:15:06 -0400
"Xin Zhao" <uszhaoxin@gmail.com> wrote:

> OK. From discussion above, can we reach a conclusion: from the
> application perspective, it is very hard, if not impossible, to take a
> transactional consistent snapshot without the help from applications?

You definitely need help from the applications.  They define what a
transaction is.

> 
> Chris, you mentioned that "Many different applications support some
> form of pausing in order to facilitate live backups. " Can you provide
> some examples? I mean popular apps.

Oracle, db2, mysql, ldap, postgres, sleepycat databases...just search
for online backup and most programs that involve something
transactional have a way to do it.

> 
> Finally, if we back up a little bit, say, we don't care the
> transaction level consistency ( a transaction that open/close many
> times), but we want a open/close consistency in snapshots. That is, a
> file in a snapshot must be in a single version, but it can be in a
> middle state of a transaction. Can we do that? Pausing apps itself
> does not solve this problem, because a file could be already opened
> and in the middle of write. As I mentioned earlier, some systems can
> backup old data every time new data is written, but I suspect that
> this will impact the system performance quite a bit. Any idea about
> that?
> 

This depends on the transaction engine in your filesystem.  None of the
existing linux filesystems have a way to start a transaction when the
file opens and finish it when the file closes, or a way to roll back
individual operations that have happened inside a given transaction.

It certainly could be done, but it would also introduce a great deal of
complexity to the FS.

-chris

  reply	other threads:[~2007-07-03 17:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-03  5:28 how do versioning filesystems take snapshot of opened files? Xin Zhao
     [not found] ` <778391c50707022236v5157a933qea1994cf4cbce879@mail.gmail.com>
2007-07-03  5:44   ` Xin Zhao
2007-07-03 13:09 ` Chris Mason
2007-07-03 16:12   ` Xin Zhao
2007-07-03 16:35     ` Bryan Henderson
2007-07-03 16:24   ` Bryan Henderson
2007-07-03 16:31     ` Xin Zhao
2007-07-03 17:04       ` Chris Mason
2007-07-03 17:15         ` Xin Zhao
2007-07-03 17:38           ` Chris Mason [this message]
2007-07-03 21:06             ` Bryan Henderson
2007-07-03 21:17               ` Xin Zhao
2007-07-03 22:02   ` Neil Brown

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=20070703133830.0e83a6bf@think.oraclecorp.com \
    --to=chris.mason@oracle.com \
    --cc=hbryan@us.ibm.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=uszhaoxin@gmail.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).