From: "K. Richard Pixley" <rich-pBcMlXao8V4@public.gmane.org>
To: Jiro SEKIBA <jir-hfpbi5WX9J54Eiagz67IpQ@public.gmane.org>
Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: newbie question
Date: Fri, 28 May 2010 14:14:20 -0700 [thread overview]
Message-ID: <4C00322C.5020205@noir.com> (raw)
In-Reply-To: <4C00071A.4010508-pBcMlXao8V4@public.gmane.org>
Jiro SEKIBA wrote:
> Hi, Richard
>
> At Thu, 27 May 2010 10:40:41 -0700,
> K. Richard Pixley wrote:
>
>> Ryusuke Konishi wrote:
>>
>>> The "roll back" feature is one of our todo items, and not yet
>>> supported.
>>>
>> Is this something that could be accelerated by a suitable
application of
>> money?
>>
>
> I may not understand your question, but technically speaking
> it is possible to support roll back feature.
> It's just a matter of work force to do as far as I think.
>
> Still, there are some concerns about what the "roll back" sould be.
>
> For instance, if you just want to restore from a specific snapshot
you took,
> you can simply read-only mount the snapshot and copy the contents you
> want to restore. That is done without any filesystem level roll back
support.
>
Yes, but the copying requires a significant amount of time that I'm
trying to avoid.
I start with a known good file system. I snapshot it. I take some
speculative action. And then, based on the result of the speculative
action, I either want to create a new snapshot and continue on from
there, or I want to "roll back" to the snapshot as though the
speculative action had never taken place.
Effectively, I want to start with known good data and then "try
something". If the trial succeeds, then I have a new good state. But
if it fails, then my entire sub tree is polluted and needs to be
replaced or rolled back before I can try something else.
This is akin to a parser with 1 item lookahead or to an AI search tree
of depth 1. That is, I'm looking for a cheap backtracking mechanism.
My first strategy involved rsync'ing a subtree elsewhere in the file
system as my snapshotting mechanism and then using rsync to replace my
current subtree when I needed to "roll back". This costs two large
copies and the copies take as much or more time than my transforms do.
This means that the copies are the most expensive thing my system does.
My second strategy has been to use LVM snapshots. The cost of rolling
back is effectively zero, but I have a small problem in that snapshots
can't be snapshotted, (that is, no recursion). Instead, when the
speculative action is successful, I either need to copy the successful
data back to the original device or I need to repeat the speculative
action on the original device, either of which are slow operations
comparable to copying my entire subtree again.
What I really want is the ability to make a snapshot, take my
speculative action, and then pick which one I want to keep moving
forward, without needing to copy all of the data.
If I'm understanding nilfs2 semantics, then it's trivial to discard the
snapshot but discarding the most recent state of the file system
requires a long copy in user space. I would expect that "roll back"
would allow me to simply discard everything that has happened in the
file system after a particular snapshot, (permanently and with no
mechanism for recovery), returning the file system to that snapshot's
state with read-write ability, and would do so significantly faster than
copying my entire file system.
> Or you want to undone what you did in filesystem, you may be able to
> delete log and set proper super block. That is tricky, but possible
> without filesystem level support if it's not mounted.
It this is true, then I'd like to see it in one of the utility programs.
> The hard one is live "roll back", I think, which undone the things on
> mounted filesystem, or maybe at the boot time by specifying a checkpoint.
For my application, it would be sufficient to "roll back" while the
system was unmounted, or to somehow mark the portions to be discarded
and then remount at the checkpoint I want to keep.
> In any cases, there should be some utility programs to achieve the
> functionalities above even it doesn't require any filesystem
modifications.
It seems to me that there's not really any conflict about what might be
provided, but more a question of the degree to which guarantees are kept
during the process.
"Rolling back" is a clearly desirable feature. The declarations should
be made using one of the utility programs. Doing so on an unmounted
file system is a win over not doing it at all. And doing it on a
mounted file system is a win over doing it on an unmounted file system.
--rich
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-05-28 21:14 UTC|newest]
Thread overview: 148+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-20 21:17 newbie question Rich Pixley
[not found] ` <AANLkTikeGWuCeGVELFipNnA_EQ-UHm4fbTvi6-qBiRBi@mail.gmail.com>
[not found] ` <AANLkTikeGWuCeGVELFipNnA_EQ-UHm4fbTvi6-qBiRBi-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-05-20 22:18 ` Jérôme Poulin
[not found] ` <4BF5A6E0.6040703-C65YXLrEp3M@public.gmane.org>
2010-05-20 22:30 ` Ryusuke Konishi
[not found] ` <20100521.073026.88488718.ryusuke-sG5X7nlA6pw@public.gmane.org>
2010-05-27 17:40 ` K. Richard Pixley
[not found] ` <4BFEAE99.3030100-pBcMlXao8V4@public.gmane.org>
2010-05-28 5:55 ` Jiro SEKIBA
[not found] ` <4C00071A.4010508@noir.com>
[not found] ` <4C00071A.4010508-pBcMlXao8V4@public.gmane.org>
2010-05-28 21:14 ` K. Richard Pixley [this message]
2010-05-28 21:16 ` K. Richard Pixley
-- strict thread matches above, loose matches on Subject: below --
2018-07-25 3:12 Qingyu Song
2018-07-25 3:57 ` Zhenhua Luo
2018-07-25 4:46 ` Qingyu Song
2014-10-01 10:35 Newbie question Masahiro Yamada
2014-10-01 12:06 ` Sascha Hauer
2014-10-02 3:51 ` Masahiro Yamada
2013-02-19 5:04 newbie question horseriver
2012-02-18 10:54 santosh prasad nayak
2012-02-18 15:05 ` Dan Carpenter
2012-02-18 16:52 ` Dan Carpenter
2010-09-23 4:59 Newbie question George Spelvin
2010-09-23 6:29 ` Thomas Hochstein
2010-09-19 23:51 kinley
2010-09-19 23:59 ` Andrew Keller
2010-09-20 0:50 ` kinley
2010-09-20 1:47 ` Imran M Yousuf
2010-09-20 6:55 ` Kevin Ballard
2010-09-20 19:32 ` kinley
2010-09-20 8:31 ` Jakub Narebski
2010-09-20 8:39 ` Alex Riesen
2009-07-30 18:03 newbie question Gergely Buday
2009-07-03 18:39 Alex K
2009-07-03 19:12 ` dloewenherz
2009-07-03 19:22 ` Junio C Hamano
2009-07-04 0:29 ` Sitaram Chamarty
2009-07-06 12:11 ` Michael J Gruber
2007-03-20 0:02 Newbie question Sven Johnsson
2007-03-20 3:36 ` Lee Revell
2007-02-28 10:09 OE and the developing host Nicola Ranaldo
2007-02-28 10:28 ` Richard Purdie
2007-02-28 10:31 ` Koen Kooi
2007-02-28 15:58 ` Hans Henry von Tresckow
2007-02-28 16:27 ` Philip Balister
2007-02-28 20:27 ` Newbie Question Lee Studley
2007-02-28 20:30 ` gerwin van der kruis
2007-02-28 21:10 ` Richard Purdie
2007-02-28 23:44 ` Justin Patrin
2007-03-01 9:20 ` Patrick Fischer
2007-03-01 14:49 ` Vladislav Grinchenko
2007-01-02 23:46 Newbie question digital tech support
[not found] ` <20070102234608.47829.qmail-8hg4vH1ahbiB9c0Qi4KiSlZ8N9CAUha/QQ4Iyu8u01E@public.gmane.org>
2007-01-02 23:48 ` Lonnie Mendez
2007-01-03 0:59 ` digital tech support
[not found] ` <102047.60641.qm-7JG1krxjdK+B9c0Qi4KiSlZ8N9CAUha/QQ4Iyu8u01E@public.gmane.org>
2007-01-03 7:58 ` Dor Laor
2006-11-21 22:37 Michael Weber
2006-11-22 0:08 ` Dave Wysochanski
2006-11-22 0:22 ` Bernd Zeimetz
2006-08-31 12:55 Eric Benton
2006-06-06 9:41 Kobus Wolvaardt
2006-05-16 7:03 newbie question Li Yang-r58472
2006-05-16 7:09 ` Matthias Kestenholz
2005-09-21 14:43 phess.linux
2005-09-21 14:50 ` Nigel Stephens
2005-09-03 17:16 raphael
2005-09-03 17:36 ` jeff
2005-09-03 20:10 ` Martin Fflores
2005-08-22 15:26 gxkahn
2005-08-12 4:12 Michael
2005-08-12 5:01 ` mehta kiran
2005-05-18 13:38 Newbie question observer
2004-12-23 19:23 Newbie Question David Templer
2004-12-24 6:34 ` aq
2004-12-24 12:29 ` M.A. Williamson
2004-08-12 19:10 Rigler, Steve
2004-08-12 17:51 Anne.Bourgeois
2004-08-12 18:28 ` Jeff Moyer
2004-08-12 18:44 ` Anne.Bourgeois
2004-08-12 19:12 ` Jeff Moyer
2004-08-12 19:28 ` Anne.Bourgeois
2004-08-12 19:31 ` Jeff Moyer
2004-08-12 23:55 ` Ian Kent
2004-08-12 23:54 ` Ian Kent
2004-08-12 23:51 ` Ian Kent
2004-06-08 4:16 mafioso1823
2004-06-08 11:09 ` John A. Sullivan III
2004-04-08 11:57 newbie question M. Ahmad Ijaz
2004-04-08 12:02 ` Antony Stone
2004-04-08 12:32 ` M. Ahmad Ijaz
2004-04-08 12:41 ` Antony Stone
2004-04-08 12:43 ` ro0ot
2004-04-08 12:32 ` Jeffrey Laramie
2004-04-08 12:47 ` Antony Stone
2004-04-08 12:09 ` Frank Gruellich
2004-04-09 4:33 ` M. Ahmad Ijaz
2004-04-08 16:26 ` Alexis
[not found] <385FE68A-FB2E-11D7-B96A-000393B2CBCE@apple.com>
2003-10-10 14:43 ` Newbie question Arvanitis Kostas
2003-08-25 13:11 newbie question chentschel2
2003-07-16 16:38 [ANNOUNCE] ELKS-0.1.3-pre1 released Miguel Bolanos
2003-07-17 1:43 ` Newbie Question Sérgio Duarte e Silva
2003-07-17 11:02 ` Alan Cox
2003-07-17 11:12 ` Sérgio Duarte e Silva
2003-07-17 11:14 ` Paul Nasrat
2003-07-17 14:55 ` Dan Olson
2003-07-17 15:08 ` Alan Cox
2003-07-17 15:24 ` Dan Olson
2003-07-17 16:32 ` Alan Cox
2003-07-17 23:23 ` Sérgio Duarte e Silva
2003-03-26 17:37 Carlos Cajina
2003-03-26 18:53 ` Joel Newkirk
2003-03-24 15:54 newbie question Scott Melnyk
2003-03-24 16:27 ` Joel Newkirk
2003-03-09 17:21 ayachi gherissi
2003-03-10 2:06 ` Antonino Daplas
[not found] <Pine.VMS.3.91-2(vms).1030228001923.25337A-100000@cs.felk.cvut.cz>
2003-02-28 0:45 ` Newbie Question Dragan Stancevic
2003-02-27 22:57 dAvId KeDrOsKy
2003-02-27 23:19 ` Dragan Stancevic
2003-02-27 23:26 ` Rudolf Marek
2003-02-27 23:42 ` Robert G. Plantz
2003-02-28 6:28 ` hpr
2003-02-28 0:27 ` Slack Traq
2003-02-24 16:23 Jeffrey Corbit
2003-02-24 16:50 ` Aldo S. Lagana
2003-02-20 14:45 newbie question ljp
2003-02-16 7:04 Newbie question Shankar; Hari
2003-02-16 7:57 ` Joel Newkirk
2003-02-16 22:50 ` Shankar; Hari
2003-01-25 10:24 Newbie Question Adam Tee
[not found] <20030120105301.22841.47459.Mailman@kashyyyk>
2003-01-20 15:58 ` newbie question regina
2003-01-20 19:02 ` Maciej Soltysiak
2002-12-08 23:37 Newbie question Glen Spidal
2002-12-10 13:09 ` Bart
2002-12-02 18:23 Brian Waite
2002-12-02 18:55 ` Russ Dill
2002-12-02 18:57 ` Brian Waite
2002-11-03 18:51 CVS Respository failures Noah
2002-11-04 9:15 ` Newbie Question Louie
2002-10-24 21:42 dAvId KeDrOsKy
2002-10-24 22:15 ` Rudolf Marek
2002-10-24 23:43 ` Brian Raiter
2002-10-25 3:07 ` Robin Miyagi
2002-10-22 2:47 William L. Childers
2002-10-10 20:44 Newbie question juanba romance gallego
2002-10-10 23:33 ` Mark Meade
2002-01-27 18:59 Newbie Question Robert Rusek
2002-01-27 18:59 ` Robert Rusek
2001-06-13 15:43 Newbie question Bartosch Pixa
2001-06-13 13:59 Bartosch Pixa
2001-06-13 15:07 ` Mat Withers
2001-06-13 15:22 ` Keith M Wesolowski
2001-06-13 15:14 ` Keith M Wesolowski
2001-06-13 21:50 ` mjpento
2001-06-15 12:12 ` Florian Lohoff
2001-06-15 13:31 ` Jan-Benedict Glaw
2001-05-24 17:29 Pedro Miguel Semeano
2001-02-19 13:11 strace sysmips support (was: Re: [FIX] sysmips(MIPS_ATMIC_SET, ...) ret_from_sys_call vs. o32_ret_from_sys_call) Wichert Akkerman
2001-02-19 19:52 ` newbie question Can Altineller
2001-02-20 7:06 ` David Jez
2001-02-20 20:26 ` Mike McDonald
2001-02-20 20:30 ` nick
2001-02-20 20:53 ` Ralf Baechle
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=4C00322C.5020205@noir.com \
--to=rich-pbcmlxao8v4@public.gmane.org \
--cc=jir-hfpbi5WX9J54Eiagz67IpQ@public.gmane.org \
--cc=linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.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 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.