From: https://www.google.com/accounts/o8/id?id=AItOawk_GD3B2YRV5t7ZM5GOh2nD2jfC6Rihqvg Date: Tue, 26 Apr 2011 19:56:48 +0000 (-0700) Subject: (no commit message) X-Git-Url: http://git.openafs.org/?p=openafs-wiki.git;a=commitdiff_plain;h=3e1f86f4377bbba3ac4289d9e9b2a69a1d8abee8 --- diff --git a/AFSLore/hackathon_pittsburgh_2011.mdwn b/AFSLore/hackathon_pittsburgh_2011.mdwn index e729399..f501e69 100644 --- a/AFSLore/hackathon_pittsburgh_2011.mdwn +++ b/AFSLore/hackathon_pittsburgh_2011.mdwn @@ -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 + + + + + +