[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