From: Shaya Potter <spotter-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
To: NILFS Users mailing list <users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org>
Subject: Re: directory entries
Date: Mon, 01 Sep 2008 01:51:51 -0400 [thread overview]
Message-ID: <48BB82F7.4070607@cs.columbia.edu> (raw)
In-Reply-To: <20080901.143956.08023399.ryusuke-sG5X7nlA6pw@public.gmane.org>
As I mentioned a while ago, we jury rigged writable snapshots by
combining nilfs w/ unionfs.
Instead of writing to the root of the file system, you right to a subdir.
so we start w/ /nilfs/t0
when we want to rollback and continue to work
we mount the ro snapshot on /s0 and create /nilfs/t1 use unionfs to
union together /s0 (ro) and /nilfs/t1 (rw).
Ryusuke Konishi wrote:
> Dear Reinoud,
>
> On Tue, 26 Aug 2008 15:29:44 +0200, Reinoud Zandijk wrote:
>>>> But how to number checkpoints and snapshots then?
>>> I don't like CVS revision like extension.
>>> Just appending derived checkpoints (from a snapshot) to current head,
>>> seems to be preferable. What do you think?
>> For option (2) new data/modifications can we written out only under the old
>> checkpoint number like the cleaner does.... but if you create a new
>> checkpoint for it ... i dunno; that would break the rule `the last
>> checkpoint is the head'.
>
> Or, we can just think the ``main'' stream was replaced by the
> continued snapshot every time it is mounted in rw-mode. In this case,
> the head is regarded to be moved to the new (latest) checkpoint. This
> is actually convenient for the recovery in which a user pushed
> ``recover button'' for the snapshot.
>
> Note that even the old head becomes a plain checkpoint, it's still
> mountable and continuable again by being changed to a snapshot.
>
> To realize writable snapshots on this interpretation, However, we have
> to solve technical problems around the DAT file. The DAT file, which
> is a table file to map virtual disk addresses to actual disk addreses,
> also maintains lifetime information of each disk block, which is used
> to perform garbage collection.
>
> To that end, this file must be extended to handle multiple lifetimes
> per block, and this would complicate the DAT. Without the DAT file,
> things are not so difficult. This would be achieved in a future, but
> in the meantime, I'll use rsync to continue snapshots ;)
>
>> We could also give snapshot/head a name; then
>> increasing checkpoints is no issue if you keep the head name
>
> Yeah, this would be possible by adding another meta data file
> (e.g. tag file) which maps the HEAD names to checkpoint numbers of
> snapshots. When keeping multiple writeable snapshots, this kind of
> extension would be demanded than now. However, I'd rather do this in
> userland with a regular file (i.e. a DB file) or with TAG files each
> of which simply records a checkpoint number.
>
>
> Regards,
> Ryusuke Konishi
> _______________________________________________
> users mailing list
> users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org
> https://www.nilfs.org/mailman/listinfo/users
next prev parent reply other threads:[~2008-09-01 5:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-23 20:38 directory entries Reinoud Zandijk
[not found] ` <20080823203853.GA19421-5cYspOl2ggRz6xQTk39kMVfVdRo2wo/d@public.gmane.org>
2008-08-25 3:21 ` Ryusuke Konishi
[not found] ` <20080825.122125.65657043.ryusuke-sG5X7nlA6pw@public.gmane.org>
2008-08-25 3:30 ` Ryusuke Konishi
[not found] ` <20080825.123047.128885778.ryusuke-sG5X7nlA6pw@public.gmane.org>
2008-08-25 15:52 ` Reinoud Zandijk
[not found] ` <20080825155243.GA12855-5cYspOl2ggRz6xQTk39kMVfVdRo2wo/d@public.gmane.org>
2008-08-26 10:29 ` Ryusuke Konishi
[not found] ` <20080826.192942.104752679.ryusuke-sG5X7nlA6pw@public.gmane.org>
2008-08-26 13:29 ` Reinoud Zandijk
[not found] ` <20080901.143956.08023399.ryusuke@osrg.net>
[not found] ` <20080901.143956.08023399.ryusuke-sG5X7nlA6pw@public.gmane.org>
2008-09-01 5:51 ` Shaya Potter [this message]
[not found] ` <48BB82F7.4070607-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-09-01 8:16 ` Ryusuke Konishi
[not found] ` <20080901.171643.74124381.ryusuke-sG5X7nlA6pw@public.gmane.org>
2008-09-01 14:27 ` Shaya Potter
[not found] ` <48BBFBEA.2000308-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-09-01 17:31 ` Ryusuke Konishi
2008-09-01 11:07 ` Reinoud Zandijk
[not found] ` <20080901110730.GA21008-5cYspOl2ggRz6xQTk39kMVfVdRo2wo/d@public.gmane.org>
2008-09-01 16:51 ` Ryusuke Konishi
[not found] ` <20080902.015156.126164477.ryusuke-sG5X7nlA6pw@public.gmane.org>
2008-09-02 15:02 ` Reinoud Zandijk
[not found] ` <20080902150226.GA28292-5cYspOl2ggRz6xQTk39kMVfVdRo2wo/d@public.gmane.org>
2008-09-03 12:39 ` Reinoud Zandijk
2008-09-03 16:32 ` Ryusuke Konishi
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=48BB82F7.4070607@cs.columbia.edu \
--to=spotter-eqauephvms7envbuuze7ea@public.gmane.org \
--cc=users-JrjvKiOkagjYtjvyW6yDsg@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox