openafs/doc/txt/file-reorg
Andrew Deason 6534b10a41 Remove DUX/OSF code
Remove code for DUX/OSF platforms. DUX code was removed from the
libafs client in commit 392dcf67 ("Complete removal of DUX client
code") and the alpha_dux* param files were removed in dc4d9d64 ("afs:
Remove AFS_BOZONLOCK_ENV"). This code has always been disabled since
those commits, so remove any code referencing AFS_DUX*_ENV,
AFS_OSF_ENV, and related symbols.

Change-Id: I3787b83c80a48e53fe214fdecf9a9ac0b63d390c
Reviewed-on: https://gerrit.openafs.org/13260
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
2018-09-14 08:32:22 -04:00

88 lines
3.5 KiB
Plaintext

Copyright 2000, International Business Machines Corporation and others.
All Rights Reserved.
This software has been released under the terms of the IBM Public
License. For details, see the LICENSE file in the top-level source
directory or online at http://www.openafs.org/dl/license10.html
AFS file reorganization
Many files in the afs and rx directories were either moved or split up to
facilitate readability and hence maintenance. As there is no DOC directory
as yet in RX, it is included here. Also, MakefileProto was split into
operating system specific MakefileProto.<os> files. The common elements are
in Makefile.common, which is included by all the MakefileProto.<os>'s.
In addition, the subdirectory where the objects are compiled and the libraries
are compiled have been named either "STATIC" or "MODLOAD" depending on the
type of the client. There are no more separate NFS and no-NFS directories. The
NFS translator specific object files all have _nfs suffixes, for example,
afs_call_nfs.o.
RX
The rx directory now has operating system specific directories. The Unix
operating systems use these for kernel code only. Each presently has 2 files,
rx_kmutex.h and rx_knet.c. rx_kmutex.h contains that operating system's
locking macros for kernel RX that were in the now removed rx_machdep.h.
rx_knet.c contains the system specific parts from rx_kernel.c. This includes
a separate rxk_input for each system. In the afs directory, afs_osinet.c was
also split up. osi_NetSend was moved to these rx_knet.c directories.
RX Summary:
rx_machdep.h -> rx_lwp.h (user space parts)
-> <os>/rx_kmutex.h (kernel parts)
rx_kernel.c -> <os>/rx_knet.c
osi_NetSend -> <os>/rx_knet.c
AFS
Files in the afs directory were broken up either because of the messy #ifdef's
or because of the size of the file, and in particular, the RCS version of
the file. For example, RCS/afs_vnodeops,v is nearly 10 Meg. Files in the
operating system specific directories are all prefixed with osi_ (operating
system interface). Each must have at least an osi_groups.c and an osi_machdep.h
file. The first implements setgroups/getgroups and the latter implements the
kernel locking macros for AFS.
AFS Summary:
afs_vnodeops.c -> VNOPS/*.c (one file per class of vnode op)
afs_osi_pag.c
afs_osi_uio.c
<os>/osi_groups.c
afs_cache.c -> afs_dcache.c and afs_vcache.c afs_segments.c
afs_resource.c -> afs_analyze.c
afs_cell.c
afs_conn.c
afs_user.c
afs_server.c
afs_volume.c
afs_util.c
afs_init.c
afs_osinet.c -> rx_knet.c (osi_NetSend)
afs_osi_alloc.c
afs_osi_sleep.c
osi.h -> afs_osi.h
<os>/osi_machdep.h
Several operating system interface files were moved to their appropritate
osi directories:
AIX: afs_aixops.c -> osi_vnodeops.c
afs_aix_subr.c -> osi_misc.c
afs_config.c -> osi_config.c osi_timeout.c
aix_vfs.h -> osi_vfs.h
misc.s -> osi_assem.s
HPUX: afs_vnodeops.c -> osi_vnodeops.c (HPUX specific code)
afs_hp_debug.c -> osi_debug.c
hpux_proc_private.h -> osi_proc_private.h
hpux_vfs.h -> osi_vfs.h
IRIX: afs_sgiops.c -> osi_idbg.c osi_groups.c osi_misc.c osi_vnodeops.c
sgi_vfs.h -> osi_vfs.h
SOLARIS: afs_sun_subr.c -> osi_vnodeops.c
osi_prototypes.h (new header file)
afs_mariner.c is centralizes the mariner code, which was plucked from both
afs_cache.c and afs_vnodeops.c