linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Simon Wilkinson <simonxwilkinson@gmail.com>,
	jaltman@your-file-system.com
Cc: dhowells@redhat.com,
	"openafs-devel@openafs.org" <openafs-devel@openafs.org>,
	linux-btrfs@vger.kernel.org, clm@fb.com
Subject: What is needed to build an AFS fileserver on top of BTRFS?
Date: Tue, 17 Dec 2013 16:53:16 +0000	[thread overview]
Message-ID: <14884.1387299196@warthog.procyon.org.uk> (raw)


It has occurred to me and others that something like BTRFS could be a good fit
to build an AFS fileserver directly on top of.  The question is what facilities
would be needed from BTRFS to make this work?

So I thought I'd kick off a shopping list;-)

 (1) 64-bit data version numbers that increase monotonically with each write.

     Yes, this is likely to cause some performance degredation as it introduces
     an ordering over data writes and metadata writes to a file.  Maybe writes
     can be batched to improve performance?

 (2) Storage for ACLs and AFS UIDs.  Having shareable ACLs might also be useful.

     Xattrs would likely do for this.

 (3) The ability to snapshot a filesystem to make backups and for pushing to
     read-only volume servers.

 (4) A 32-bit vnode number and 32-bit vnode uniquifier/generation number.

     These don't necessarily have to be stored by BTRFS directly but could
     instead be in a separate database file that gets snapshotted also.

 (5) The ability to set the vnode number, vnode uniquifier and data version
     number to specific values.  Necessary to clone volumes and restore
     volume dumps.

David

             reply	other threads:[~2013-12-17 16:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-17 16:53 David Howells [this message]
2013-12-17 17:07 ` What is needed to build an AFS fileserver on top of BTRFS? Chris Mason
2013-12-17 17:20 ` Hugo Mills
2013-12-17 17:40 ` David Howells
2013-12-17 18:42   ` [OpenAFS-devel] " Jeffrey Hutzelman
2013-12-17 17:47 ` David Howells
2013-12-17 18:45   ` [OpenAFS-devel] " Jeffrey Hutzelman

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=14884.1387299196@warthog.procyon.org.uk \
    --to=dhowells@redhat.com \
    --cc=clm@fb.com \
    --cc=jaltman@your-file-system.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=openafs-devel@openafs.org \
    --cc=simonxwilkinson@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).