Commit | Line | Data |
---|---|---|
805e021f CE |
1 | Copyright 2000, International Business Machines Corporation and others. |
2 | All Rights Reserved. | |
3 | ||
4 | This software has been released under the terms of the IBM Public | |
5 | License. For details, see the LICENSE file in the top-level source | |
6 | directory or online at http://www.openafs.org/dl/license10.html | |
7 | ||
8 | AFS file reorganization | |
9 | ||
10 | Many files in the afs and rx directories were either moved or split up to | |
11 | facilitate readability and hence maintenance. As there is no DOC directory | |
12 | as yet in RX, it is included here. Also, MakefileProto was split into | |
13 | operating system specific MakefileProto.<os> files. The common elements are | |
14 | in Makefile.common, which is included by all the MakefileProto.<os>'s. | |
15 | In addition, the subdirectory where the objects are compiled and the libraries | |
16 | are compiled have been named either "STATIC" or "MODLOAD" depending on the | |
17 | type of the client. There are no more separate NFS and no-NFS directories. The | |
18 | NFS translator specific object files all have _nfs suffixes, for example, | |
19 | afs_call_nfs.o. | |
20 | ||
21 | RX | |
22 | The rx directory now has operating system specific directories. The Unix | |
23 | operating systems use these for kernel code only. Each presently has 2 files, | |
24 | rx_kmutex.h and rx_knet.c. rx_kmutex.h contains that operating system's | |
25 | locking macros for kernel RX that were in the now removed rx_machdep.h. | |
26 | rx_knet.c contains the system specific parts from rx_kernel.c. This includes | |
27 | a separate rxk_input for each system. In the afs directory, afs_osinet.c was | |
28 | also split up. osi_NetSend was moved to these rx_knet.c directories. | |
29 | ||
30 | RX Summary: | |
31 | rx_machdep.h -> rx_lwp.h (user space parts) | |
32 | -> <os>/rx_kmutex.h (kernel parts) | |
33 | rx_kernel.c -> <os>/rx_knet.c | |
34 | osi_NetSend -> <os>/rx_knet.c | |
35 | ||
36 | AFS | |
37 | Files in the afs directory were broken up either because of the messy #ifdef's | |
38 | or because of the size of the file, and in particular, the RCS version of | |
39 | the file. For example, RCS/afs_vnodeops,v is nearly 10 Meg. Files in the | |
40 | operating system specific directories are all prefixed with osi_ (operating | |
41 | system interface). Each must have at least an osi_groups.c and an osi_machdep.h | |
42 | file. The first implements setgroups/getgroups and the latter implements the | |
43 | kernel locking macros for AFS. | |
44 | ||
45 | ||
46 | AFS Summary: | |
47 | afs_vnodeops.c -> VNOPS/*.c (one file per class of vnode op) | |
48 | afs_osi_pag.c | |
49 | afs_osi_uio.c | |
50 | <os>/osi_groups.c | |
51 | afs_cache.c -> afs_dcache.c and afs_vcache.c afs_segments.c | |
52 | afs_resource.c -> afs_analyze.c | |
53 | afs_cell.c | |
54 | afs_conn.c | |
55 | afs_user.c | |
56 | afs_server.c | |
57 | afs_volume.c | |
58 | afs_util.c | |
59 | afs_init.c | |
60 | ||
61 | afs_osinet.c -> rx_knet.c (osi_NetSend) | |
62 | afs_osi_alloc.c | |
63 | afs_osi_sleep.c | |
64 | osi.h -> afs_osi.h | |
65 | <os>/osi_machdep.h | |
66 | ||
67 | Several operating system interface files were moved to their appropritate | |
68 | osi directories: | |
69 | AIX: afs_aixops.c -> osi_vnodeops.c | |
70 | afs_aix_subr.c -> osi_misc.c | |
71 | afs_config.c -> osi_config.c osi_timeout.c | |
72 | aix_vfs.h -> osi_vfs.h | |
73 | misc.s -> osi_assem.s | |
74 | ||
75 | DUX: afs_vnodeops.c -> osi_vnodeops.c (DUX specific code) | |
76 | ||
77 | HPUX: afs_vnodeops.c -> osi_vnodeops.c (HPUX specific code) | |
78 | afs_hp_debug.c -> osi_debug.c | |
79 | hpux_proc_private.h -> osi_proc_private.h | |
80 | hpux_vfs.h -> osi_vfs.h | |
81 | ||
82 | IRIX: afs_sgiops.c -> osi_idbg.c osi_groups.c osi_misc.c osi_vnodeops.c | |
83 | sgi_vfs.h -> osi_vfs.h | |
84 | ||
85 | SOLARIS: afs_sun_subr.c -> osi_vnodeops.c | |
86 | osi_prototypes.h (new header file) | |
87 | ||
88 | afs_mariner.c is centralizes the mariner code, which was plucked from both | |
89 | afs_cache.c and afs_vnodeops.c |