Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 02 Sep 2001 15:43:10 -0700
From:      Cy Schubert - ITSD Open Systems Group <Cy.Schubert@uumail.gov.bc.ca>
To:        obrien@FreeBSD.ORG
Cc:        Cy Schubert - ITSD Open Systems Group <Cy.Schubert@uumail.gov.bc.ca>, Alfred Perlstein <bright@mu.org>, John Polstra <jdp@polstra.com>, arch@FreeBSD.ORG
Subject:   Re: AMD defaults? (was: Re: Tuning UDP for NFS) 
Message-ID:  <200109022243.f82MhQt03149@cwsys.cwsent.com>
In-Reply-To: Your message of "Sun, 02 Sep 2001 12:21:25 PDT." <20010902122125.A80825@hub.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20010902122125.A80825@hub.freebsd.org>, "David O'Brien" 
writes:
> On Sat, Sep 01, 2001 at 11:55:04AM -0700, Cy Schubert - ITSD Open Systems Gro
> up wrote:
> > In message <20010901134303.X81307@elvis.mu.org>, Alfred Perlstein 
> > writes:
> > > Any AMD gurus in the house?
> > > 
> > > Alfred Perlstein  <bright@mu.org> wrote:
> > > >
> > > > Using UDP is usually a bad idea, I would use tcp, I find that these
> > > > flags make for a decent mount point that's quite fast:
> > > >   rw,tcp,intr,nfsv3,-w=32768,-r=32768
> > 
> > I'm far from being an amd guru, however I've been running 
> > am-utils-6.0[79] on FreeBSD for the past few months.  Am-utils >= 6.07 
> > does support rdirplus.  If you want to try it yourself download a copy 
> > of am-utils-6.09
> 
> Where is 6.09??  The latest on the am-utils ftp site is 6.0.7.

I was mistaken.  I've been running 6.0.5 and 6.0.7 since March on all 
of the FreeBSD systems I manage.  I haven't looked at it since I last 
updated it back in March.  You can't expect me to remember everything 
since then, which considering the events (sports injuries) since then 
is a virtual eternity in my life.  (So much for excuses).  :)

> 
> > I can send you a patch that will 
> > update some makefiles in the source tree to allow am-utils-6.09 to 
> > compile.
> 
> Unfortunatly your patch does not go any where near far enough.
> How well did you test the resulting Amd?  Are you saying that all the
> changes in src/contrib/amd can be tossed?
> 
    (cd /usr/src/contrib/amd && cvs -q diff -r amd_6_0_7)

I've been using the stock am-utils with the patch I sent you since 
March on all of the FreeBSD (12 + an unspecified number deployed at 
customer sites through a friend's ISP) systems I work on without any 
problems.

Could I have used the existing patches?  In some cases, maybe.

In the spirit of trying to help as best I can, here is a version of my 
patch you can use when importing 6.0.7 into the FreeBSD CVS tree.  It 
fixes all conflicts and compiles cleanly.

--- usr.sbin/amd/include/config.h.orig	Fri Nov  5 04:34:00 1999
+++ usr.sbin/amd/include/config.h	Sun Sep  2 14:38:53 2001
@@ -1,13 +1,5 @@
-/* 
- * $FreeBSD: src/usr.sbin/amd/include/config.h,v 1.15 1999/11/05 
12:34:00 obrien Exp $
- *
- * portions derived from 
- *	$NetBSD: config.h,v 1.11 1998/08/08 22:33:37 christos Exp $
- *
- */
-
 /* config.h.  Generated automatically by configure.  */
-/* aux/config.h.in.  Generated automatically from ./aux/configure.in 
by autoheader.  */
+/* config.h.in.  Generated automatically from configure.in by 
autoheader.  */
 /*
  * Start of am-utils-6.x config.h file.
  * Erez Zadok <ezk@cs.columbia.edu>
@@ -25,40 +17,40 @@
  */
 
 /* Define if have automount filesystem */
-#define HAVE_AM_FS_AUTO 1
+#define HAVE_AMU_FS_AUTO 1
 
 /* Define if have direct automount filesystem */
-#define HAVE_AM_FS_DIRECT 1
+#define HAVE_AMU_FS_DIRECT 1
 
 /* Define if have "top-level" filesystem */
-#define HAVE_AM_FS_TOPLVL 1
+#define HAVE_AMU_FS_TOPLVL 1
 
 /* Define if have error filesystem */
-#define HAVE_AM_FS_ERROR 1
+#define HAVE_AMU_FS_ERROR 1
 
 /* Define if have inheritance filesystem */
-#define HAVE_AM_FS_INHERIT 1
+#define HAVE_AMU_FS_INHERIT 1
 
 /* Define if have program filesystem */
-#define HAVE_AM_FS_PROGRAM 1
+#define HAVE_AMU_FS_PROGRAM 1
 
 /* Define if have symbolic-link filesystem */
-#define HAVE_AM_FS_LINK 1
+#define HAVE_AMU_FS_LINK 1
 
 /* Define if have symlink with existence check filesystem */
-#define HAVE_AM_FS_LINKX 1
+#define HAVE_AMU_FS_LINKX 1
 
 /* Define if have NFS host-tree filesystem */
-#define HAVE_AM_FS_HOST 1
+#define HAVE_AMU_FS_HOST 1
 
 /* Define if have nfsl (NFS with local link check) filesystem */
-#define HAVE_AM_FS_NFSL 1
+#define HAVE_AMU_FS_NFSL 1
 
 /* Define if have multi-NFS filesystem */
-#define HAVE_AM_FS_NFSX 1
+#define HAVE_AMU_FS_NFSX 1
 
 /* Define if have union filesystem */
-#define HAVE_AM_FS_UNION 1
+#define HAVE_AMU_FS_UNION 1
 
 
 /*
@@ -142,13 +134,13 @@
 /* #undef HAVE_FS_CACHEFS */
 
 /* Define if have NULLFS (loopback on bsd44) filesystem */
-#define HAVE_FS_NULLFS 1
+#define HAVE_FS_NULLFS
 
 /* Define if have UNIONFS filesystem */
 #define HAVE_FS_UNIONFS 1
 
 /* Define if have UMAPFS (uid/gid mapping) filesystem */
-#define HAVE_FS_UMAPFS 1
+#define HAVE_FS_UMAPFS
 
 
 /*
@@ -209,7 +201,7 @@
 #define MOUNT_TYPE_UNIONFS "union"
 
 /* Mount(2) type/name for UMAPFS (uid/gid mapping) filesystem */
-#define MOUNT_TYPE_UMAPFS "umap"
+/* #undef MOUNT_TYPE_UMAPFS */
 
 
 /*
@@ -438,6 +430,9 @@
 /* Mount Table option string: max groups */
 /* #undef MNTTAB_OPT_MAXGROUPS */
 
+/* Mount Table option string: support property lists (ACLs) */
+/* #undef MNTTAB_OPT_PROPLIST */
+
 /*
  * Generic mount(2) options (hex numbers)
  */
@@ -478,13 +473,13 @@
 /* nocache (what?) */
 /* #undef MNT2_GEN_OPT_NOCACHE */
 
-/* not a device */
+/* do not interpret special device files */
 #define MNT2_GEN_OPT_NODEV 0x10
 
 /* no exec calls allowed */
 #define MNT2_GEN_OPT_NOEXEC 0x4
 
-/* not a device  */
+/* do not interpret special device files */
 /* #undef MNT2_GEN_OPT_NONDEV */
 
 /* Disallow mounts beneath this mount */
@@ -496,6 +491,9 @@
 /* Return ENAMETOOLONG for long filenames */
 /* #undef MNT2_GEN_OPT_NOTRUNC */
 
+/* Pass mount option string to kernel */
+/* #undef MNT2_GEN_OPT_OPTIONSTR */
+
 /* allow overlay mounts */
 /* #undef MNT2_GEN_OPT_OVERLAY */
 
@@ -575,6 +573,9 @@
 /* allow interrupts on hard mount */
 #define MNT2_NFS_OPT_INT 0x40
 
+/* allow interrupts on hard mount */
+/* #undef MNT2_NFS_OPT_INTR */
+
 /* Bits set internally */
 /* #undef MNT2_NFS_OPT_INTERNAL */
 
@@ -620,6 +621,9 @@
 /* Get lease for lookup */
 /* #undef MNT2_NFS_OPT_NQLOOKLEASE */
 
+/* Don't use locking */
+/* #undef MNT2_NFS_OPT_NONLM */
+
 /* Use Nqnfs protocol */
 #define MNT2_NFS_OPT_NQNFS 0x100
 
@@ -632,9 +636,18 @@
 /* Do lookup with readdir (nqnfs) */
 /* #undef MNT2_NFS_OPT_RDIRALOOK */
 
+/* allow property list operations (ACLs over NFS) */
+/* #undef MNT2_NFS_OPT_PROPLIST */
+
+/* Use Readdirplus for NFSv3 */
+#define MNT2_NFS_OPTS_RDIRPLUS 0x10000
+
 /* set read ahead */
 #define MNT2_NFS_OPT_READAHEAD 0x2000
 
+/* Set readdir size */
+#define MNT2_NFS_OPT_READDIRSIZE 0x20000
+
 /* Allocate a reserved port */
 #define MNT2_NFS_OPT_RESVPORT 0x8000
 
@@ -668,6 +681,9 @@
 /* use TCP for mounts */
 /* #undef MNT2_NFS_OPT_TCP */
 
+/* linux NFSv3 */
+#define MNT2_NFS_OPT_VER3 0x200
+
 /* Wait for authentication */
 /* #undef MNT2_NFS_OPT_WAITAUTH */
 
@@ -689,6 +705,9 @@
 /* paging threshold */
 /* #undef MNT2_NFS_OPT_PGTHRESH */
 
+/* 32<->64 dir cookie translation */
+/* #undef MNT2_NFS_OPT_XLATECOOKIE */
+
 /*
  * CDFS-specific mount(2) options (hex numbers)
  */
@@ -824,7 +843,7 @@
 #define HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR 1
 
 /* does struct ifaddrs have field ifa_next? */
-/* #undef HAVE_FIELD_STRUCT_IFADDRS_IFA_NEXT */
+#define HAVE_FIELD_STRUCT_IFADDRS_IFA_NEXT 1
 
 /* does struct sockaddr have field sa_len? */
 #define HAVE_FIELD_STRUCT_SOCKADDR_SA_LEN 1
@@ -839,110 +858,9 @@
 /* should signal handlers be reinstalled? */
 /* #undef REINSTALL_SIGNAL_HANDLER */
 
-
-/**********************************************************************
****/
-/*** Everything above this line is part of the "TOP" of acconfig.h.	
***/
-/**********************************************************************
****/
-
-
-/* Define if on AIX 3.
-   System headers sometimes define this.
-   We just want to avoid a redefinition error message.  */
-#ifndef _ALL_SOURCE
-/* #undef _ALL_SOURCE */
-#endif
-
-/* Define if using alloca.c.  */
-/* #undef C_ALLOCA */
-
-/* Define to empty if the keyword does not work.  */
-/* #undef const */
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP 
systems.
-   This function is required for alloca.c support on those systems.  */
-/* #undef CRAY_STACKSEG_END */
-
-/* Define to the type of elements in the array set by `getgroups'.
-   Usually this is either `int' or `gid_t'.  */
-#define GETGROUPS_T gid_t
-
-/* Define to `int' if <sys/types.h> doesn't define.  */
-/* #undef gid_t */
-
-/* Define if you have alloca, as a function or macro.  */
-#define HAVE_ALLOCA 1
-
-/* Define if you have <alloca.h> and it should be used (not on 
Ultrix).  */
-/* #undef HAVE_ALLOCA_H */
-
-/* Define if you support file names longer than 14 characters.  */
-#define HAVE_LONG_FILE_NAMES 1
-
-/* Define if system calls automatically restart after interruption
-   by a signal.  */
-#define HAVE_RESTARTABLE_SYSCALLS 1
-
-/* Define if your struct stat has st_rdev.  */
-#define HAVE_ST_RDEV 1
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define if you have <vfork.h>.  */
-/* #undef HAVE_VFORK_H */
-
-/* Define if you have the wait3 system call.  */
-#define HAVE_WAIT3 1
-
-/* Define as __inline if that's what the C compiler calls it.  */
-/* #undef inline */
-
-/* Define if your C compiler doesn't accept -c and -o together.  */
-/* #undef NO_MINUS_C_MINUS_O */
-
-/* Define if you need to in order for stat and other things to work.  
*/
-/* #undef _POSIX_SOURCE */
-
-/* Define as the return type of signal handlers (int or void).  */
-#define RETSIGTYPE void
-
-/* If using the C implementation of alloca, define if you know the
-   direction of stack growth for your system; otherwise it will be
-   automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
+/*
+ * More definitions that depend on configure options.
  */
-/* #undef STACK_DIRECTION */
-
-/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  
*/
-/* #undef STAT_MACROS_BROKEN */
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>.  */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define if your <sys/time.h> declares struct tm.  */
-/* #undef TM_IN_SYS_TIME */
-
-/* Define to `int' if <sys/types.h> doesn't define.  */
-/* #undef uid_t */
-
-/* Define vfork as fork if vfork does not work.  */
-/* #undef vfork */
-
-/* Define if your processor stores words with the most significant
-   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
-/* #undef WORDS_BIGENDIAN */
-#include <machine/endian.h>
-#if BYTE_ORDER == BIG_ENDIAN
-#define WORDS_BIGENDIAN
-#endif
-
-/* Define if lex declares yytext as a char * by default, not a char[]. 
 */
-#define YYTEXT_POINTER 1
 
 /* Turn off general debugging by default */
 /* #undef DEBUG */
@@ -950,18 +868,15 @@
 /* Turn off memory debugging by default */
 /* #undef DEBUG_MEM */
 
-/* Enable "amq -M" remote mount code (insecure due to IP spoofing) */
-/* #undef ENABLE_AMQ_MOUNT */
-
 /* Define package name (must be defined by configure.in) */
 #define PACKAGE "am-utils"
 
-/* Define version of package (must be defined by configure.in) */
-#define VERSION "6.0.3s1"
-
 /* We [FREEBSD-NATIVE] pick some parameters from our local config file 
*/
 #include "config_local.h"
 
+/* Define version of package (must be defined by configure.in) */
+#define VERSION "6.0.7"
+
 /* Define name of host machine's cpu (eg. sparc) */
 /* #define HOST_CPU "i386" */
 
@@ -995,6 +910,9 @@
 /* what type of network transport type is in use?  TLI or sockets? */
 /* #undef HAVE_TRANSPORT_TYPE_TLI */
 
+/* Define to `long' if <sys/types.h> doesn't define time_t */
+/* #undef time_t */
+
 /* Define to "void *" if compiler can handle, otherwise "char *" */
 #define voidp void *
 
@@ -1002,7 +920,10 @@
 #define am_nfs_fh nfs_fh
 
 /* Define a type/structure for an NFS V3 filehandle */
-#define am_nfs_fh3 nfs_fh3
+#define am_nfs_fh3 nfs_fh3_freebsd3
+
+/* define if the host has NFS protocol headers in system headers */
+/* #undef HAVE_NFS_PROT_HEADERS */
 
 /* define name of am-utils' NFS protocol header */
 #define AMU_NFS_PROTOCOL_HEADER "./conf/nfs_prot/nfs_prot_freebsd3.h"
@@ -1034,9 +955,6 @@
 /* Define if have struct nfs_args in one of the standard nfs headers */
 #define HAVE_STRUCT_NFS_ARGS 1
 
-/* Define if have struct nfs_mount_data in one of the standard nfs 
headers */
-/* #undef HAVE_STRUCT_NFS_MOUNT_DATA */
-
 /* Define if have struct nfs_gfs_mount in one of the standard nfs 
headers */
 /* #undef HAVE_STRUCT_NFS_GFS_MOUNT */
 
@@ -1099,6 +1017,112 @@
 /* define if must NOT use NFS "noconn" option */
 #define USE_CONNECTED_NFS_SOCKETS 1
 
+/**********************************************************************
****/
+/*** Everything above this line is part of the "TOP" of acconfig.h.	
***/
+/**********************************************************************
****/
+
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+/* #undef _ALL_SOURCE */
+#endif
+
+/* Define if using alloca.c.  */
+/* #undef C_ALLOCA */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef const */
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP 
systems.
+   This function is required for alloca.c support on those systems.  */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to the type of elements in the array set by `getgroups'.
+   Usually this is either `int' or `gid_t'.  */
+#define GETGROUPS_T gid_t
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef gid_t */
+
+/* Define if you have alloca, as a function or macro.  */
+#define HAVE_ALLOCA 1
+
+/* Define if you have <alloca.h> and it should be used (not on 
Ultrix).  */
+/* #undef HAVE_ALLOCA_H */
+
+/* Define if you support file names longer than 14 characters.  */
+#define HAVE_LONG_FILE_NAMES 1
+
+/* Define if system calls automatically restart after interruption
+   by a signal.  */
+#define HAVE_RESTARTABLE_SYSCALLS 1
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define if you have <vfork.h>.  */
+/* #undef HAVE_VFORK_H */
+
+/* Define if you have the wait3 system call.  */
+#define HAVE_WAIT3 1
+
+/* Define as __inline if that's what the C compiler calls it.  */
+/* #undef inline */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef mode_t */
+
+/* Define if your C compiler doesn't accept -c and -o together.  */
+/* #undef NO_MINUS_C_MINUS_O */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef pid_t */
+
+/* Define if you need to in order for stat and other things to work.  
*/
+/* #undef _POSIX_SOURCE */
+
+/* Define as the return type of signal handlers (int or void).  */
+#define RETSIGTYPE void
+
+/* Define to `unsigned' if <sys/types.h> doesn't define.  */
+/* #undef size_t */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
+ */
+/* #undef STACK_DIRECTION */
+
+/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  
*/
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define if you have the ANSI C header files.  */
+#define STDC_HEADERS 1
+
+/* Define if you can safely include both <sys/time.h> and <time.h>.  */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define if your <sys/time.h> declares struct tm.  */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef uid_t */
+
+/* Define vfork as fork if vfork does not work.  */
+/* #undef vfork */
+
+/* Define if your processor stores words with the most significant
+   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
+/* #undef WORDS_BIGENDIAN */
+
+/* Define if lex declares yytext as a char * by default, not a char[]. 
 */
+#define YYTEXT_POINTER 1
+
 /* Define if you have the __seterr_reply function.  */
 /* #undef HAVE___SETERR_REPLY */
 
@@ -1126,6 +1150,9 @@
 /* Define if you have the clnt_sperrno function.  */
 #define HAVE_CLNT_SPERRNO 1
 
+/* Define if you have the clock_gettime function.  */
+#define HAVE_CLOCK_GETTIME 1
+
 /* Define if you have the cnodeid function.  */
 /* #undef HAVE_CNODEID */
 
@@ -1163,7 +1190,7 @@
 #define HAVE_GETHOSTNAME 1
 
 /* Define if you have the getifaddrs function.  */
-/* #undef HAVE_GETIFADDRS */
+#define HAVE_GETIFADDRS 1
 
 /* Define if you have the getmntinfo function.  */
 #define HAVE_GETMNTINFO 1
@@ -1253,7 +1280,7 @@
 #define HAVE_SETITIMER 1
 
 /* Define if you have the setresuid function.  */
-/* #undef HAVE_SETRESUID */
+#define HAVE_SETRESUID 1
 
 /* Define if you have the setsid function.  */
 #define HAVE_SETSID 1
@@ -1520,7 +1547,7 @@
 /* #undef HAVE_HSFS_HSFS_H */
 
 /* Define if you have the <ifaddrs.h> header file.  */
-/* #undef HAVE_IFADDRS_H */
+#define HAVE_IFADDRS_H 1
 
 /* Define if you have the <irs.h> header file.  */
 /* #undef HAVE_IRS_H */
@@ -1535,7 +1562,7 @@
 /* #undef HAVE_LDAP_H */
 
 /* Define if you have the <libgen.h> header file.  */
-/* #undef HAVE_LIBGEN_H */
+#define HAVE_LIBGEN_H 1
 
 /* Define if you have the <linux/auto_fs.h> header file.  */
 /* #undef HAVE_LINUX_AUTO_FS_H */
@@ -1543,6 +1570,12 @@
 /* Define if you have the <linux/fs.h> header file.  */
 /* #undef HAVE_LINUX_FS_H */
 
+/* Define if you have the <linux/kdev_t.h> header file.  */
+/* #undef HAVE_LINUX_KDEV_T_H */
+
+/* Define if you have the <linux/list.h> header file.  */
+/* #undef HAVE_LINUX_LIST_H */
+
 /* Define if you have the <linux/nfs.h> header file.  */
 /* #undef HAVE_LINUX_NFS_H */
 
@@ -1886,7 +1919,7 @@
 #define HAVE_UFS_UFS_UFSMOUNT_H 1
 
 /* Define if you have the <ufs/ufs_mount.h> header file.  */
-#define HAVE_UFS_UFS_MOUNT_H 1
+/* #undef HAVE_UFS_UFS_MOUNT_H */
 
 /* Define if you have the <unistd.h> header file.  */
 #define HAVE_UNISTD_H 1
@@ -1894,9 +1927,6 @@
 /* Define if you have the <varargs.h> header file.  */
 #define HAVE_VARARGS_H 1
 
-/* Define if you have the <vfork.h> header file.  */
-/* #undef HAVE_VFORK_H */
-
 /* Define if you have the gdbm library (-lgdbm).  */
 /* #undef HAVE_LIBGDBM */
 
@@ -1915,20 +1945,14 @@
 /* Define if you have the rpcsvc library (-lrpcsvc).  */
 #define HAVE_LIBRPCSVC 1
 
-/* Define to `int' if <sys/types.h> does not define. */
-/* #undef pid_t */
+/* Define if you have the rt library (-lrt).  */
+/* #undef HAVE_LIBRT */
 
-/* Define to `int' if <sys/types.h> does not define. */
-/* #undef mode_t */
-
-/* Define to `int' if <sys/types.h> does not define. */
-/* #undef pid_t */
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-/* #undef size_t */
+/* Name of package */
+#define PACKAGE "am-utils"
 
-/* Define to `long' if <sys/types.h> does not define. */
-/* #undef time_t */
+/* Version number of package */
+#define VERSION "6.0.7"
 
 
 /**********************************************************************
****/

Please don't take this note as inflammatory.  I do not mean to ruffle 
any feathers or to insult anyone.  I am trying to help as best I can.  
If I have offended anyone with any of my comments I apologise.


Regards,                         Phone:  (250)387-8437
Cy Schubert                        Fax:  (250)387-5766
Team Leader, Sun/Alpha Team   Internet:  Cy.Schubert@osg.gov.bc.ca
Open Systems Group, ITSD
Ministry of Management Services
Province of BC








To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109022243.f82MhQt03149>