(no commit message)
[openafs-wiki.git] / AFSLore / hackathon_pittsburgh_2011.mdwn
index e729399..f501e69 100644 (file)
@@ -1,12 +1,10 @@
 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 whiteboard
-
+Some examples done on the white board:
 
     [core]
     thiscell = andrew.cmu.edu
@@ -47,3 +45,38 @@ Some examples done on the whiteboard
     
     
 
+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
+
+
+
+
+
+