-
OpenAFS Hackathon, Pittsburgh, April 2011
+
+Config Files
+------------
+
+Server and client side configuration file will be in krb5 config file syntax.
+Some examples done on the white board:
+
+ [core]
+ thiscell = andrew.cmu.edu
+ use_dns = yes
+
+ [cells]
+ andrew.edu = {
+ description = "Project Andrew - CMU"
+ vlserver = tcp/128.2.10.2
+ ptserver = udp/128.2.10.11
+ dbserver = 128.1.10.7
+ dbserver = FF00::128.2.10.28
+ dbserver = db3.andrew.cmu.edu
+ use_dns = yes
+ }
+
+ [ptserver]
+ servers = {
+ vice2 = {
+ address = 128.2.10.2:7002
+ priority = 2
+ }
+ }
+
+ [fileserver]
+ dbservers = {
+ vlserver = vice7
+ }
+
+ [rank]
+ # syntax for host addresses:
+ # [proto/]host[/mask][:port]
+ 128.2.10.2 = 2000
+ tcp/128.2.10.11 = 9000
+ 128.2.10.2 = 2000
+ 128.2.10.12:7003 = 1500
+ 128.2.172/22 = 100
+
+
+
+Per File ACLS
+-------------
+
+On-disk storage of per file acls requires us to extend the VnodeDiskObject, and in a way that
+allows graceful *downgrades*. After much discussion, it was decided to change the small index
+version number (in the header record) and use the vnodeMagic field of the VnodeDiskObject to
+indicate extension meta data is present. The extension meta data is stored in a new, separate
+file.
+
+ VnodeBigHeader {
+ afs_uint32 magic;
+ afs_uint32 stamp;
+ afs_uint32 free;
+ unsigned char pad[256 - 4 * 3]
+ };
+
+ VnodeBigObject {
+ afs_uint32 vnode;
+ afs_uint32 unique;
+ afs_uint32 next;
+ afs_uint32 kind;
+ unsigned char data[256 - 4 * 4]
+ };
+
+ VNODE_BIG_TBC 0x40000000
+ VNODE_BIG_CONT 0x80000000
+ VNODE_BIG_TYPE_MAGIC 0x7FFFFFFF
+ VNODE_BIG_EXT1 1
+ VNODE_BIG_ACL 2
+
+
+
+Portability
+-----------
+
+1. osi, opr
+2. defung API
+3. building stuff (pic, not-pic/threads,lwp)
+4. library makeup
+