| 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 |