All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Albert Cahalan <acahalan@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	hch@infradead.org, snitzer@gmail.com
Subject: Re: [ANNOUNCE] Btrfs: a copy on write, snapshotting FS
Date: Wed, 13 Jun 2007 12:57:06 -0400	[thread overview]
Message-ID: <20070613165706.GF28279@think.oraclecorp.com> (raw)
In-Reply-To: <787b0d920706130914l676a24cau62525e90a90b5839@mail.gmail.com>

On Wed, Jun 13, 2007 at 12:14:40PM -0400, Albert Cahalan wrote:
> On 6/13/07, Chris Mason <chris.mason@oracle.com> wrote:
> >On Wed, Jun 13, 2007 at 01:45:28AM -0400, Albert Cahalan wrote:
> 
> >> The usual wishlist:
> >>
> >> * inode-to-pathnames mapping
> >
> >This one I'll code, it will help with inode link count verification.  I
> >want to be able to detect at run time that an inode with a link count of
> >zero is still actually in a directory. So there will be back pointers
> >from the inode to the directory.
> 
> Great, but fsck improvement wasn't on my mind. This is
> a desirable feature for the NFS server, and for regular users.
> Think about a backup program trying to maintain hard links.

Sure, it'll be there either way ;)

> 
> >Also, the incremental backup code will be able to walk the btree to find
> >inodes that have changed, and the backpointers will help make a list of
> >file names that need to be rsync'd or whatever.
> >
> >> * a subvolume that is a single file (disk image, database, etc.)
> >
> >subvolumes can be made that have a single file in them, but they have to
> >be directories right now.  Doing otherwise would complicate mounts and
> >other management tools (inside the btree, it doesn't really matter).
> 
> Bummer. As I understand it, ZFS provides this. :-)

Grin, when the pain of typing cd subvol is btrfs' biggest worry, I'll be
doing very well.

> 
> >> * directory indexes to better support Wine and Samba
> >> * secure delete via destruction of per-file or per-block random crypto 
> >keys
> >
> >I'd rather keep secure delete as a userland problem (or a layered FS
> >problem).  When you take backups and other copies of the file into
> >account, it's a bigger problem than btrfs wants to tackle right now.
> 
> It can't be a userland problem if you allow disk blocks to move.
> Volume resizing, logging/journalling, etc. -- they combine to make
> the userland solution essentially impossible. (one could wipe the
> whole partition, or maybe fill ALL space on the volume)

Right about here is where I would insert a long story about ecryptfs, or
encryption solutions that happen all in userland.  At any rate, it is
outside the scope of v1.0, even though I definitely agree it is an
important problem for some people.

> >> * atomic creation of copy-on-write directory trees
> >
> >Do you mean something more fine grained than the current snapshotting
> >system?
> 
> I believe so. Example: I have a linux-2.6 directory. It's not
> a mount point or anything special like that. I want to copy
> it to a new directory called wip, without actually copying
> all the blocks. To all the normal POSIX API stuff, this copy
> should look like the result of "cp -a", not hard links.

This would be a snapshot, which has to be done on a subvolume right now.
It is not as nice as being able to pick a random directory, but I've
only been able to get this far by limiting the feature scope
significantly.  What I did do was make subvolumes very cheap...just make
a bunch of them.

Keep in mind that if you implement a cow directory tree without a
snapshot, and you don't want to duplicate any blocks in the cow, you're
going to have fun with inode numbers.

-chris


  reply	other threads:[~2007-06-13 17:00 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-13  5:45 [ANNOUNCE] Btrfs: a copy on write, snapshotting FS Albert Cahalan
2007-06-13 12:00 ` Chris Mason
2007-06-13 16:14   ` Albert Cahalan
2007-06-13 16:57     ` Chris Mason [this message]
2007-06-14  6:59       ` Albert Cahalan
2007-06-14 12:30         ` Chris Mason
  -- strict thread matches above, loose matches on Subject: below --
2007-06-12 16:10 Chris Mason
2007-06-12 19:53 ` Mike Snitzer
2007-06-12 20:14   ` Chris Mason
2007-06-13  3:08     ` Christoph Hellwig
2007-06-13 10:17       ` Chris Mason
2007-06-13  3:46 ` John Stoffel
2007-06-13 10:35   ` Chris Mason
2007-06-13 14:00     ` John Stoffel
2007-06-13 14:54       ` Chris Mason
2007-06-13 16:12         ` John Stoffel
2007-06-13 16:34           ` Chris Mason
2007-06-13 16:25         ` Grzegorz Kulewski
2007-06-14 18:20   ` Chuck Lever
2007-06-14 18:48     ` Chris Mason
2007-06-15 17:17       ` Chuck Lever
2007-06-14 18:29 ` Florian D.
2007-06-14 19:13   ` Chris Mason
2007-06-15 19:08     ` Florian D.
2007-06-15 19:11       ` Chris Mason
2007-06-15 20:46         ` Florian D.
2007-06-15 20:51           ` Chris Mason
2007-06-15 22:03             ` Florian D.
2007-06-16  0:54               ` Chris Mason
2007-06-16  9:31                 ` Florian D.
2007-06-18 14:29                   ` Chris Mason
2007-06-18 14:41 ` Chris Mason
2007-06-18 14:41   ` Chris Mason
2007-06-18 17:37 ` Vladislav Bolkhovitin
2007-06-18 20:08   ` John Stoffel
2007-06-19  9:11   ` Pádraig Brady
2007-06-19 10:01     ` Vladislav Bolkhovitin
2007-06-19 18:20       ` david
2007-06-20  8:41         ` Vladislav Bolkhovitin
2007-06-19 12:04     ` Chris Mason
2007-06-19 12:04       ` Chris Mason
2007-06-19 14:00       ` Vladislav Bolkhovitin
2007-06-19 14:00         ` Vladislav Bolkhovitin
2007-06-19 18:24       ` david
2007-06-19 18:28       ` Philipp Matthias Hahn
2007-06-19 18:28         ` Philipp Matthias Hahn
2007-06-20  8:44         ` Vladislav Bolkhovitin
2007-06-20  9:18           ` Ph. Marek

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=20070613165706.GF28279@think.oraclecorp.com \
    --to=chris.mason@oracle.com \
    --cc=acahalan@gmail.com \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=snitzer@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 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.