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
next 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).