[OpenAFS-devel] Re: What is needed to build an AFS fileserver on top of BTRFS?

Chris Mason clm@fb.com
Tue, 17 Dec 2013 17:07:38 +0000


On Tue, 2013-12-17 at 16:53 +-0000, David Howells wrote:
+AD4- It has occurred to me and others that something like BTRFS could be a=
 good fit
+AD4- to build an AFS fileserver directly on top of.  The question is what =
facilities
+AD4- would be needed from BTRFS to make this work?
+AD4-=20
+AD4- So I thought I'd kick off a shopping list+ADs--)
+AD4-=20
+AD4-  (1) 64-bit data version numbers that increase monotonically with eac=
h write.
+AD4-=20
+AD4-      Yes, this is likely to cause some performance degredation as it =
introduces
+AD4-      an ordering over data writes and metadata writes to a file.  May=
be writes
+AD4-      can be batched to improve performance?
+AD4-
+AD4-  (2) Storage for ACLs and AFS UIDs.  Having shareable ACLs might also=
 be useful.
+AD4-=20
+AD4-      Xattrs would likely do for this.
+AD4-=20
+AD4-  (3) The ability to snapshot a filesystem to make backups and for pus=
hing to
+AD4-      read-only volume servers.
+AD4-=20
+AD4-  (4) A 32-bit vnode number and 32-bit vnode uniquifier/generation num=
ber.
+AD4-=20
+AD4-      These don't necessarily have to be stored by BTRFS directly but =
could
+AD4-      instead be in a separate database file that gets snapshotted als=
o.
+AD4-=20
+AD4-  (5) The ability to set the vnode number, vnode uniquifier and data v=
ersion
+AD4-      number to specific values.  Necessary to clone volumes and resto=
re
+AD4-      volume dumps.

Hmmm, what exactly are vnodes?  Could we put them in xattrs?

-chris