Linux NILFS development
 help / color / mirror / Atom feed
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

  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