add orphaned page list
[openafs-wiki.git] / hackathon_pittsburgh_2011.mdwn
1 OpenAFS Hackathon, Pittsburgh, April 2011
2
3 Config Files
4 ------------
5
6 Server and client side configuration file will be in krb5 config file syntax.
7 Some examples done on the white board:
8
9     [core]
10     thiscell = andrew.cmu.edu
11     use_dns = yes    
12     
13     [cells]
14     andrew.edu = {
15         description = "Project Andrew - CMU"
16         vlserver = tcp/128.2.10.2
17         ptserver = udp/128.2.10.11
18         dbserver = 128.1.10.7
19         dbserver = FF00::128.2.10.28
20         dbserver = db3.andrew.cmu.edu
21         use_dns = yes
22     }
23     
24     [ptserver]
25     servers = {
26         vice2 = {
27             address = 128.2.10.2:7002
28             priority = 2
29         }
30     }
31     
32     [fileserver]
33     dbservers = {
34         vlserver = vice7
35     }
36     
37     [rank]
38     # syntax for host addresses:
39     # [proto/]host[/mask][:port]
40     128.2.10.2 = 2000
41     tcp/128.2.10.11 = 9000
42     128.2.10.2 = 2000
43     128.2.10.12:7003 = 1500
44     128.2.172/22 = 100
45     
46     
47
48 Per File ACLS
49 -------------
50
51 On-disk storage of per file acls requires us to extend the VnodeDiskObject, and in a way that 
52 allows graceful *downgrades*. After much discussion, it was decided to change the small index
53 version number (in the header record) and use the vnodeMagic field of the VnodeDiskObject to
54 indicate extension meta data is present. The extension meta data is stored in a new, separate
55 file.
56
57     VnodeBigHeader {
58         afs_uint32 magic;
59         afs_uint32 stamp;
60         afs_uint32 free;
61         unsigned char pad[256 - 4 * 3]
62     };
63     
64     VnodeBigObject {
65         afs_uint32 vnode;
66         afs_uint32 unique;
67         afs_uint32 next;
68         afs_uint32 kind;
69         unsigned char data[256 - 4 * 4]
70     };
71
72     VNODE_BIG_TBC  0x40000000
73     VNODE_BIG_CONT 0x80000000
74     VNODE_BIG_TYPE_MAGIC 0x7FFFFFFF
75     VNODE_BIG_EXT1 1
76     VNODE_BIG_ACL  2
77
78
79
80 Portability
81 -----------
82
83 1. osi, opr
84 2. defining API
85 3. building stuff (pic, not-pic/threads,lwp)
86 4. library makeup
87