PERFORCE change 42978 for review

Peter Wemm peter at FreeBSD.org
Sun Nov 23 20:01:29 PST 2003


http://perforce.freebsd.org/chv.cgi?CH=42978

Change 42978 by peter at peter_overcee on 2003/11/23 20:00:44

	IFC @42977

Affected files ...

.. //depot/projects/hammer/etc/mtree/BSD.include.dist#13 integrate
.. //depot/projects/hammer/include/Makefile#17 integrate
.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#48 integrate
.. //depot/projects/hammer/sbin/idmapd/idmapd.8#2 integrate
.. //depot/projects/hammer/sbin/idmapd/idmapd.c#2 integrate
.. //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.8#2 integrate
.. //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.c#2 integrate
.. //depot/projects/hammer/sbin/newfs/mkfs.c#13 integrate
.. //depot/projects/hammer/share/man/man7/hier.7#11 integrate
.. //depot/projects/hammer/sys/alpha/alpha/mp_machdep.c#7 integrate
.. //depot/projects/hammer/sys/amd64/amd64/amd64_mem.c#4 integrate
.. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#43 integrate
.. //depot/projects/hammer/sys/boot/i386/loader/loader.rc#2 integrate
.. //depot/projects/hammer/sys/conf/majors#16 integrate
.. //depot/projects/hammer/sys/conf/newvers.sh#7 integrate
.. //depot/projects/hammer/sys/contrib/dev/acpica/dsmthdat.c#6 integrate
.. //depot/projects/hammer/sys/contrib/dev/acpica/exfldio.c#7 integrate
.. //depot/projects/hammer/sys/contrib/dev/acpica/utdelete.c#5 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#19 integrate
.. //depot/projects/hammer/sys/dev/led/led.c#2 integrate
.. //depot/projects/hammer/sys/dev/vinum/vinuminterrupt.c#5 integrate
.. //depot/projects/hammer/sys/dev/vinum/vinumio.c#11 integrate
.. //depot/projects/hammer/sys/dev/vinum/vinumrequest.c#9 integrate
.. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#22 integrate
.. //depot/projects/hammer/sys/ia64/ia64/mp_machdep.c#8 integrate
.. //depot/projects/hammer/sys/kern/subr_smp.c#10 integrate
.. //depot/projects/hammer/sys/kern/vfs_mount.c#19 integrate
.. //depot/projects/hammer/sys/netinet/in_pcb.c#16 integrate
.. //depot/projects/hammer/sys/netinet/ip_dummynet.c#16 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw2.c#20 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_output.c#16 integrate
.. //depot/projects/hammer/sys/nfs4client/nfs4_vfsops.c#3 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs.h#6 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#12 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#9 integrate
.. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#20 integrate
.. //depot/projects/hammer/sys/nfsclient/nfsmount.h#4 integrate
.. //depot/projects/hammer/sys/nfsclient/nfsnode.h#4 integrate
.. //depot/projects/hammer/sys/powerpc/powerpc/mp_machdep.c#3 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/mp_machdep.c#9 integrate
.. //depot/projects/hammer/sys/sys/smp.h#3 integrate
.. //depot/projects/hammer/sys/sys/soundcard.h#6 integrate
.. //depot/projects/hammer/sys/sys/timepps.h#2 integrate

Differences ...

==== //depot/projects/hammer/etc/mtree/BSD.include.dist#13 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.75 2003/11/10 09:04:24 harti Exp $
+# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.76 2003/11/22 06:08:59 scottl Exp $
 #
 # Please see the file src/etc/mtree/README before making changes to this file.
 #
@@ -58,6 +58,8 @@
         ..
         smbfs
         ..
+	udf
+	..
         umapfs
         ..
         unionfs

==== //depot/projects/hammer/include/Makefile#17 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.2 (Berkeley) 1/4/94
-# $FreeBSD: src/include/Makefile,v 1.206 2003/10/29 00:32:25 peter Exp $
+# $FreeBSD: src/include/Makefile,v 1.207 2003/11/22 06:08:59 scottl Exp $
 #
 # Doing a "make install" builds /usr/include.
 
@@ -34,7 +34,7 @@
 LSUBDIRS=	cam/scsi dev/an dev/ic dev/iicbus dev/firewire dev/ofw \
 	dev/ppbus dev/smbus dev/usb dev/wi dev/utopia fs/devfs \
 	fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \
-	fs/procfs fs/smbfs fs/umapfs fs/unionfs isofs/cd9660 \
+	fs/procfs fs/smbfs fs/udf fs/umapfs fs/unionfs isofs/cd9660 \
 	netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \
 	netgraph/atm security/mac_biba security/mac_bsdextended \
 	security/mac_lomac security/mac_mls security/mac_partition \

==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#48 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The FreeBSD Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.655 2003/11/21 01:23:20 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.656 2003/11/23 09:53:13 brueffer Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -394,7 +394,7 @@
 	Multicast routing (&man.pim.4;). &merged;</para>
 
       <para>To reduce information leakage, IPv4 packets no longer have
-	a <varname>ip_id</varname> field set unless fragmentation is
+	an <varname>ip_id</varname> field set unless fragmentation is
 	being done.</para>
 
       <para>The &os; Bluetooth protocol stack has been updated:</para>
@@ -402,29 +402,29 @@
       <itemizedlist>
         <listitem>
           <para><application>libsdp</application> has been re-implemented
-            under BSD style license.  This is because the Linux BlueZ code is
-            distributed under GPL.</para>
+            under a BSD style license.  This is because the Linux BlueZ code is
+            distributed under the GPL.</para>
         </listitem>
 
         <listitem>
-          <para>&man.hccontrol.8; utility now supports four new commands:
+          <para>The &man.hccontrol.8; utility now supports four new commands:
             Read/Write_Page_Scan_Mode and Read/Write_Page_Scan_Period_Mode.</para>
         </listitem>
 
         <listitem>
-          <para>&man.hcsecd.8; daemon now stores link keys on a disk.
+          <para>The &man.hcsecd.8; daemon now stores link keys on a disk.
             It is no longer required to pair devices every time.</para>
         </listitem>
 
         <listitem>
-          <para>A netgraph timeout problem in &man.ng.hci.4; and
+          <para>A netgraph timeout problem in the &man.ng.hci.4; and
             &man.ng.l2cap.4; kernel modules, which could cause
             access to a data structure that was already freed,
             has been fixed.</para>
         </listitem>
 
         <listitem>
-          <para>&man.ng.ubt.4; module, which cannot be build on
+          <para>The &man.ng.ubt.4; module, which cannot be build on
             &os; &release.prev;, has been fixed.</para>
         </listitem>
 
@@ -436,7 +436,7 @@
         </listitem>
 
         <listitem>
-          <para>&man.sdpcontrol.8; utility, which is analogous to the sdptool utility in
+          <para>The &man.sdpcontrol.8; utility, which is analogous to the sdptool utility in
             the Linux BlueZ SDP package, has been added.</para>
         </listitem>
       </itemizedlist>
@@ -462,7 +462,7 @@
 
       <para>A major rework of the &man.ata.4; driver has been
 	committed.  One of the more notable changes is that the
-	&man.ata.4; driver has now out from under the Giant kernel
+	&man.ata.4; driver is now out from under the Giant kernel
 	lock.  Note that ATA software RAID systems must now include
 	<literal>device ataraid</literal> in their kernel
 	configuration files, as it is no longer automatically implied
@@ -599,8 +599,8 @@
       option for an interface, which disables the sending of ARP
       requests for that interface.</para>
 
-    <para>&man.ipfw.8; <literal>list</literal> and <literal>show</literal>
-      command now support ranges of rule numbers.
+    <para>The &man.ipfw.8; <literal>list</literal> and <literal>show</literal>
+      commands now support ranges of rule numbers.
       &merged;</para>
 
     <para>&man.ipfw.8; now supports a <option>-n</option> flag
@@ -636,7 +636,7 @@
     <para>The &man.mount.8; utility now supports to display the filesystem
       ID for each file system in addition to the normal information
       when a <option>-v</option> flag is specified,
-      and &man.umount.8; utility now accepts the filesystem ID
+      and the &man.umount.8; utility now accepts the filesystem ID
       as well as the usual device and path names.
       This allows to unambiguously specify which file system is
       to be unmounted even when two or more file systems share
@@ -655,7 +655,7 @@
       <option>-D</option> option to specify MS-DOS codepages and a
       <option>-L</option> option to specify local character sets.  They are
       used to convert character sets of filenames.  The
-      <filename>/usr/libdata/msdosfs</filename> tables have
+      <filename>/usr/libdata/msdosfs</filename> tables have been
       retired.</para>
 
     <para>The &man.mount.nwfs.8;, &man.mount.portalfs.8;, and

==== //depot/projects/hammer/sbin/idmapd/idmapd.8#2 (text+ko) ====

@@ -1,2 +1,64 @@
-.\" $FreeBSD: src/sbin/idmapd/idmapd.8,v 1.1 2003/11/14 21:04:33 alfred Exp $
+.\" copyright (c) 2003
+.\" the regents of the university of michigan
+.\" all rights reserved
+.\" 
+.\" permission is granted to use, copy, create derivative works and redistribute
+.\" this software and such derivative works for any purpose, so long as the name
+.\" of the university of michigan is not used in any advertising or publicity
+.\" pertaining to the use or distribution of this software without specific,
+.\" written prior authorization.  if the above copyright notice or any other
+.\" identification of the university of michigan is included in any copy of any
+.\" portion of this software, then the disclaimer below must also be included.
+.\" 
+.\" this software is provided as is, without representation from the university
+.\" of michigan as to its fitness for any purpose, and without warranty by the
+.\" university of michigan of any kind, either express or implied, including
+.\" without limitation the implied warranties of merchantability and fitness for
+.\" a particular purpose. the regents of the university of michigan shall not be
+.\" liable for any damages, including special, indirect, incidental, or
+.\" consequential damages, with respect to any claim arising out of or in
+.\" connection with the use of the software, even if it has been or is hereafter
+.\" advised of the possibility of such damages.
+.\"
+.\" $FreeBSD: src/sbin/idmapd/idmapd.8,v 1.2 2003/11/22 02:16:53 alfred Exp $
 man
+.\"
+.Dd November 14, 2003
+.Dt IDMAPD 8
+.Os
+.Sh NAME
+.Nm idmapd
+.Nd name/uid mapper for NFSv4
+.Sh SYNOPSIS
+.Nm
+.Op Fl v
+.Op Fl d Ar domainname
+.Sh DESCRIPTION
+The
+.Nm
+daemon normally runs in the background and services uid/gid-to-name and
+name-to-uid/gid mapping
+requests from the NFSv4 client.
+.Pp
+The options are:
+.Bl -tag -width indent
+.It Fl v
+Be verbose, and do not run in the background.
+.It Fl d
+Set the domain part of the name string to the specified string.
+.El
+.Sh FILES
+.Bl -tag -width /etc/master.passwd -compact
+.It Pa /etc/pwd.db
+The insecure password database file
+.It Pa /etc/spwd.db
+The secure password database file
+.It Pa /etc/master.passwd
+The current password file
+.It Pa /etc/passwd
+A Version 7 format password file
+.El
+.Sh SEE ALSO
+.Xr getpwnam 2 ,
+.Xr getpwuid 2 ,
+.Xr mount_nfs 8

==== //depot/projects/hammer/sbin/idmapd/idmapd.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.1 2003/11/14 21:04:33 alfred Exp $ */
+/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.2 2003/11/22 02:16:53 alfred Exp $ */
 /* $Id: idmapd.c,v 1.5 2003/11/05 14:58:58 rees Exp $ */
 
 /*
@@ -25,7 +25,7 @@
  * advised of the possibility of such damages.
  */
 
-/* XXX ignores the domain of recieved names. */
+/* XXX ignores the domain of received names. */
 
 #include <sys/types.h>
 #include <sys/ioctl.h>
@@ -52,7 +52,7 @@
 
 #define DEV_PATH "/dev/nfs4"
 
-#define DOMAIN "@citi.umich.edu"
+#define DOMAIN "@FreeBSD.org"
 #define BADUSER "nobody"
 #define BADGROUP "nogroup"
 #define BADUID (-2)

==== //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.8#2 (text+ko) ====

@@ -30,17 +30,17 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)mount_nfs.8	8.3 (Berkeley) 3/29/95
-.\" $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.8,v 1.1 2003/11/14 21:04:33 alfred Exp $
+.\" $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.8,v 1.2 2003/11/22 02:18:30 alfred Exp $
 .\"
-.Dd May 11, 2003
-.Dt MOUNT_NFS 8
+.Dd November 14, 2003
+.Dt MOUNT_NFS4 8
 .Os
 .Sh NAME
-.Nm mount_nfs
-.Nd mount NFS file systems
+.Nm mount_nfs4
+.Nd mount NFSv4 file systems
 .Sh SYNOPSIS
 .Nm
-.Op Fl 23NPTUbcdiLls
+.Op Fl NPTUbcdiLls
 .Op Fl D Ar deadthresh
 .Op Fl I Ar readdirsize
 .Op Fl R Ar retrycnt
@@ -57,30 +57,16 @@
 .Nm
 utility calls the
 .Xr mount 2
-system call to prepare and graft a remote NFS file system
+system call to prepare and graft a remote NFSv4 file system
 .Pq Ar rhost : Ns Ar path
 on to the file system tree at the point
 .Ar node .
 This command is normally executed by
 .Xr mount 8 .
-It implements the mount protocol as described in RFC 1094, Appendix A and
-.%T "NFS: Network File System Version 3 Protocol Specification" ,
-Appendix I.
+It implements the NFSv4 protocol as described in RFC 3530,
+.%T "NFS version 4 Protocol."
 .Pp
-By default,
-.Nm
-keeps retrying until the mount succeeds.
-This behaviour is intended for file systems listed in
-.Xr fstab 5
-that are critical to the boot process.
-For non-critical file systems, the
-.Fl b
-and
-.Fl R
-flags provide mechanisms to prevent the boot process from hanging
-if the server is unavailable.
-.Pp
-If the server becomes unresponsive while an NFS file system is
+If the server becomes unresponsive while an NFSv4 file system is
 mounted, any new or outstanding file operations on that file system
 will hang uninterruptibly until the server comes back.
 To modify this default behaviour, see the
@@ -91,12 +77,6 @@
 .Pp
 The options are:
 .Bl -tag -width indent
-.It Fl 2
-Use the NFS Version 2 protocol (the default is to try version 3 first
-then version 2).
-Note that NFS version 2 has a file size limit of 2 gigabytes.
-.It Fl 3
-Use the NFS Version 3 protocol.
 .It Fl D
 Set the
 .Dq "dead server threshold"
@@ -109,24 +89,6 @@
 be a multiple of
 .Dv DIRBLKSIZ
 that is <= the read size for the mount.
-.It Fl L
-Do
-.Em not
-forward
-.Xr fcntl 2
-locks over the wire.
-All locks will be local and not seen by the server
-and likewise not seen by other NFS clients.
-This removes the need to run the
-.Xr rpcbind 8
-service and the
-.Xr rpc.statd 8
-and
-.Xr rpc.lockd 8
-servers on the client.
-Note that this option will only be honored when performing the
-initial mount, it will be silently ignored if used while updating
-the mount options.
 .It Fl N
 Do
 .Em not
@@ -144,17 +106,11 @@
 forever.
 There is a 60 second delay between each attempt.
 .It Fl T
-Use TCP transport instead of UDP.
-This is recommended for servers that are not on the same LAN cable as
-the client.
-(NB: This is NOT supported by most
-.No non- Ns Bx
-servers.)
+Use TCP transport. This is the default.
 .It Fl U
-Force the mount protocol to use UDP transport, even for TCP NFS mounts.
-(Necessary for some old
-.Bx
-servers.)
+Force the mount protocol to use UDP transport.
+This is not supported by the version 4 protocol and is provided only for
+debugging purposes.
 .It Fl a
 Set the read-ahead count to the specified value.
 This may be in the range of 0 - 4, and determines how many blocks
@@ -167,41 +123,10 @@
 Useful for
 .Xr fstab 5 ,
 where the file system mount is not critical to multiuser operation.
-.It Fl c
-For UDP mount points, do not do a
-.Xr connect 2 .
-This must be used if the server does not reply to requests from the standard
-NFS port number 2049 or replies to requests using a different IP address
-(which can occur if the server is multi-homed).
-Setting the
-.Va vfs.nfs.nfs_ip_paranoia
-sysctl to 0 will make this option the default.
-.It Fl d
-Turn off the dynamic retransmit timeout estimator.
-This may be useful for UDP mounts that exhibit high retry rates,
-since it is possible that the dynamically estimated timeout interval is too
-short.
-.It Fl g
-Set the maximum size of the group list for the credentials to the
-specified value.
-This should be used for mounts on old servers that cannot handle a
-group list size of 16, as specified in RFC 1057.
-Try 8, if users in a lot of groups cannot get response from the mount
-point.
 .It Fl i
 Make the mount interruptible, which implies that file system calls that
 are delayed due to an unresponsive server will fail with EINTR when a
 termination signal is posted for the process.
-.It Fl l
-Used with NQNFS and NFSV3 to specify that the \fBReaddirPlus\fR RPC should
-be used.
-This option reduces RPC traffic for cases such as
-.Dq "ls -l" ,
-but tends to flood the attribute and name caches with prefetched entries.
-Try this option and see whether performance improves or degrades.
-Probably
-most useful for client to server network interconnects with a large bandwidth
-times delay product.
 .It Fl o
 Options are specified with a
 .Fl o
@@ -212,8 +137,9 @@
 The following NFS specific options are also available:
 .Bl -tag -width indent
 .It Cm port Ns = Ns Aq Ar port_number
-Use specified port number for NFS requests.
-The default is to query the portmapper for the NFS port.
+Use specified port number for NFSv4 requests.
+The default is to use port 2049.
+Set this to 0 to query the portmapper for the NFSv4 port.
 .It Cm acregmin Ns = Ns Aq Ar seconds
 .It Cm acregmax Ns = Ns Aq Ar seconds
 .It Cm acdirmin Ns = Ns Aq Ar seconds
@@ -239,64 +165,6 @@
 Useful for hosts that have
 both an A record and an AAAA record for the same name.
 .El
-.Bl -tag -width ".Cm dumbtimer"
-.Ss Historic Fl o Ss Options
-Use of these options is deprecated, they are only mentioned here for
-compatibility with historic versions of
-.Nm .
-.It Cm bg
-Same as
-.Fl b .
-.It Cm conn
-Same as not specifying
-.Fl c .
-.It Cm dumbtimer
-Same as
-.Fl d .
-.It Cm intr
-Same as
-.Fl i .
-.It Cm lockd
-Same as not specifying
-.Fl L .
-.It Cm nfsv2
-Same as
-.Fl 2 .
-.It Cm nfsv3
-Same as
-.Fl 3 .
-.It Cm rdirplus
-Same as
-.Fl l .
-.It Cm mntudp
-Same as
-.Fl U .
-.It Cm resvport
-Same as
-.Fl P .
-.It Cm soft
-Same as
-.Fl s .
-.It Cm tcp
-Same as
-.Fl T .
-.El
-.It Fl r
-Set the read data size to the specified value.
-It should normally be a power of 2 greater than or equal to 1024.
-This should be used for UDP mounts when the
-.Dq "fragments dropped due to timeout"
-value is getting large while actively using a mount point.
-(Use
-.Xr netstat 1
-with the
-.Fl s
-option to see what the
-.Dq "fragments dropped due to timeout"
-value is.)
-See the
-.Fl w
-option as well.
 .It Fl s
 A soft mount, which implies that file system calls will fail
 after
@@ -315,19 +183,6 @@
 option should be specified when using this option to manually
 tune the timeout
 interval.)
-.It Fl w
-Set the write data size to the specified value.
-Ditto the comments w.r.t. the
-.Fl r
-option, but using the
-.Dq "fragments dropped due to timeout"
-value on the server instead of the client.
-Note that both the
-.Fl r
-and
-.Fl w
-options should only be used as a last ditch effort at improving performance
-when mounting servers that do not support TCP mounts.
 .It Fl x
 Set the retransmit timeout count for soft mounts to the specified value.
 .El
@@ -335,17 +190,12 @@
 .Xr mount 2 ,
 .Xr unmount 2 ,
 .Xr fstab 5 ,
+.Xr idmapd 8 ,
 .Xr mount 8 ,
+.Xr mount_nfs 8 ,
 .Xr nfsd 8 ,
-.Xr nfsiod 8 ,
-.Xr showmount 8
+.Xr nfsiod 8
 .Sh BUGS
-Due to the way that Sun RPC is implemented on top of UDP (unreliable datagram)
-transport, tuning such mounts is really a black art that can only be expected
-to have limited success.
-For clients mounting servers that are not on the same
-LAN cable or that tend to be overloaded,
-TCP transport is strongly recommended,
-but unfortunately this is restricted to mostly
-.Bx 4.4
-servers.
+This version of the NFSv4 client, while functional, is a long way
+from compliance with RFC 3530. It lacks lock state, reboot recovery,
+delegation, gss, and many other mandatory items from the RFC.

==== //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.1 2003/11/14 21:04:33 alfred Exp $ */
+/* $FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.2 2003/11/22 02:18:30 alfred Exp $ */
 /* $Id: mount_nfs.c,v 1.5 2003/11/05 14:58:58 rees Exp $ */
 
 /*
@@ -73,7 +73,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.1 2003/11/14 21:04:33 alfred Exp $");
+__FBSDID("$FreeBSD: src/sbin/mount_nfs4/mount_nfs4.c,v 1.2 2003/11/22 02:18:30 alfred Exp $");
 
 #include <sys/param.h>
 #include <sys/mount.h>
@@ -290,14 +290,8 @@
 	nfsargs = nfsdefargs;
 	nfsargsp = &nfsargs;
 	while ((c = getopt(argc, argv,
-	    "23a:bcdD:g:I:iLl:No:PR:r:sTt:w:x:U")) != -1)
+	    "a:bcdD:I:iNo:PR:sTt:x:U")) != -1)
 		switch (c) {
-		case '2':
-			mountmode = V2;
-			break;
-		case '3':
-			mountmode = V3;
-			break;
 		case 'a':
 			num = strtol(optarg, &p, 10);
 			if (*p || num < 0)
@@ -308,9 +302,6 @@
 		case 'b':
 			opflags |= BGRND;
 			break;
-		case 'c':
-			nfsargsp->flags |= NFSMNT_NOCONN;
-			break;
 		case 'D':
 			num = strtol(optarg, &p, 10);
 			if (*p || num <= 0)
@@ -318,19 +309,6 @@
 			nfsargsp->deadthresh = num;
 			nfsargsp->flags |= NFSMNT_DEADTHRESH;
 			break;
-		case 'd':
-			nfsargsp->flags |= NFSMNT_DUMBTIMR;
-			break;
-#if 0 /* XXXX */
-		case 'g':
-			num = strtol(optarg, &p, 10);
-			if (*p || num <= 0)
-				errx(1, "illegal -g value -- %s", optarg);
-			set_rpc_maxgrouplist(num);
-			nfsargsp->maxgrouplist = num;
-			nfsargsp->flags |= NFSMNT_MAXGRPS;
-			break;
-#endif
 		case 'I':
 			num = strtol(optarg, &p, 10);
 			if (*p || num <= 0)
@@ -341,12 +319,6 @@
 		case 'i':
 			nfsargsp->flags |= NFSMNT_INT;
 			break;
-		case 'L':
-			nfsargsp->flags |= NFSMNT_NOLOCKD;
-			break;
-		case 'l':
-			nfsargsp->flags |= NFSMNT_RDIRPLUS;
-			break;
 		case 'N':
 			nfsargsp->flags &= ~NFSMNT_RESVPORT;
 			break;
@@ -422,13 +394,6 @@
 				errx(1, "illegal -R value -- %s", optarg);
 			retrycnt = num;
 			break;
-		case 'r':
-			num = strtol(optarg, &p, 10);
-			if (*p || num <= 0)
-				errx(1, "illegal -r value -- %s", optarg);
-			nfsargsp->rsize = num;
-			nfsargsp->flags |= NFSMNT_RSIZE;
-			break;
 		case 's':
 			nfsargsp->flags |= NFSMNT_SOFT;
 			break;
@@ -443,13 +408,6 @@
 			nfsargsp->timeo = num;
 			nfsargsp->flags |= NFSMNT_TIMEO;
 			break;
-		case 'w':
-			num = strtol(optarg, &p, 10);
-			if (*p || num <= 0)
-				errx(1, "illegal -w value -- %s", optarg);
-			nfsargsp->wsize = num;
-			nfsargsp->flags |= NFSMNT_WSIZE;
-			break;
 		case 'x':
 			num = strtol(optarg, &p, 10);
 			if (*p || num <= 0)
@@ -667,47 +625,6 @@
 		}
 	}
 
-#if 0
-	/* Check that the server (nfsd) responds on the port we have chosen. */
-	clp = clnt_tli_create(RPC_ANYFD, nconf, &nfs_nb, RPCPROG_NFS, nfsvers,
-	    0, 0);
-	if (clp == NULL) {
-		snprintf(errbuf, sizeof errbuf, "[%s] %s:%s: %s", netid,
-		    hostp, spec, clnt_spcreateerror("nfsd: RPCPROG_NFS"));
-		return (returncode(rpc_createerr.cf_stat,
-		    &rpc_createerr.cf_error));
-	}
-	if (nfsargsp->sotype == SOCK_DGRAM &&
-	    !(nfsargsp->flags & NFSMNT_NOCONN)) {
-		/*
-		 * Use connect(), to match what the kernel does. This
-		 * catches cases where the server responds from the
-		 * wrong source address.
-		 */
-		doconnect = 1;
-		if (!clnt_control(clp, CLSET_CONNECT, (char *)&doconnect)) {
-			clnt_destroy(clp);
-			snprintf(errbuf, sizeof errbuf,
-			    "[%s] %s:%s: CLSET_CONNECT failed", netid, hostp,
-			    spec);
-			return (TRYRET_LOCALERR);
-		}
-	}
-
-	try.tv_sec = 10;
-	try.tv_usec = 0;
-	stat = clnt_call(clp, NFSPROC_NULL, (xdrproc_t)xdr_void, NULL,
-	    (xdrproc_t)xdr_void, NULL, try);
-	if (stat != RPC_SUCCESS) {
-		clnt_geterr(clp, &rpcerr);
-		snprintf(errbuf, sizeof errbuf, "[%s] %s:%s: %s", netid,
-		    hostp, spec, clnt_sperror(clp, "NFSPROC_NULL"));
-		clnt_destroy(clp);
-		return (returncode(stat, &rpcerr));
-	}
-	clnt_destroy(clp);
-#endif
-
 	/*
 	 * Store the filehandle and server address in nfsargsp, making
 	 * sure to copy any locally allocated structures.
@@ -865,9 +782,9 @@
 usage()
 {
 	(void)fprintf(stderr, "%s\n%s\n%s\n%s\n",
-"usage: mount_nfs [-23KNPTUbcdilqs] [-D deadthresh] [-I readdirsize]",
+"usage: mount_nfs [-KNPTUbiqs] [-D deadthresh] [-I readdirsize]",
 "                 [-R retrycnt] [-a maxreadahead]",
-"                 [-g maxgroups] [-m realm] [-o options] [-r readsize]",
-"                 [-t timeout] [-w writesize] [-x retrans] rhost:path node");
+"                 [-m realm] [-o options]",
+"                 [-t timeout] [-x retrans] rhost:path node");
 	exit(1);
 }

==== //depot/projects/hammer/sbin/newfs/mkfs.c#13 (text+ko) ====

@@ -46,7 +46,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/newfs/mkfs.c,v 1.81 2003/11/16 07:17:30 wes Exp $");
+__FBSDID("$FreeBSD: src/sbin/newfs/mkfs.c,v 1.82 2003/11/23 08:29:01 wes Exp $");
 
 #include <err.h>
 #include <grp.h>
@@ -457,7 +457,7 @@
 	}
 	if (Eflag == 2)
 		printf("** Leaving BAD MAGIC on Eflag 2\n");
-	else
+	else if( Oflag != 1 )
 		sblock.fs_magic = FS_UFS2_MAGIC;
 
 	/*

==== //depot/projects/hammer/share/man/man7/hier.7#11 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)hier.7	8.1 (Berkeley) 6/5/93
-.\" $FreeBSD: src/share/man/man7/hier.7,v 1.90 2003/11/17 17:29:04 gordon Exp $
+.\" $FreeBSD: src/share/man/man7/hier.7,v 1.91 2003/11/22 06:08:59 scottl Exp $
 .\"
 .Dd June 5, 1993
 .Dt HIER 7
@@ -233,6 +233,8 @@
 process file system
 .It Pa smbfs/
 SMB/CIFS file system
+.It Pa udf/
+UDF file system
 .It Pa umapfs/
 alternate uid/gid mappings file system
 .It Pa unionfs

==== //depot/projects/hammer/sys/alpha/alpha/mp_machdep.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.48 2003/08/17 06:42:07 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.49 2003/11/21 22:23:25 jhb Exp $");
 
 #include "opt_kstack_pages.h"
 
@@ -64,6 +64,7 @@
 u_int boot_cpu_id;
 
 static void	release_aps(void *dummy);
+static int	smp_cpu_enabled(struct pcs *pcsp);
 extern void	smp_init_secondary_glue(void);
 static int	smp_send_secondary_command(const char *command, int cpuid);
 static int	smp_start_secondary(int cpuid);
@@ -301,10 +302,50 @@
 
 /* Other stuff */
 
+static int
+smp_cpu_enabled(struct pcs *pcsp)
+{
+
+	/* Is this CPU present? */
+	if ((pcsp->pcs_flags & PCS_PP) == 0)
+		return (0);
+
+	/* Is this CPU available? */
+	if ((pcsp->pcs_flags & PCS_PA) == 0)
+		/*
+		 * The TurboLaser PCS_PA bit doesn't seem to be set
+		 * correctly.
+		 */
+		if (hwrpb->rpb_type != ST_DEC_21000) 
+			return (0);
+
+	/* Is this CPU's PALcode valid? */
+	if ((pcsp->pcs_flags & PCS_PV) == 0)
+		return (0);
+
+	return (1);
+}
+
+void
+cpu_mp_setmaxid(void)
+{
+	int i;
+
+	mp_maxid = 0;
+	for (i = 0; i < hwrpb->rpb_pcs_cnt; i++) {
+		if (i == PCPU_GET(cpuid))
+			continue;
+		if (!smp_cpu_enabled(LOCATE_PCS(hwrpb, i)))
+			continue;
+		if (i > MAXCPU)
+			continue;
+		mp_maxid = i;
+	}
+}
+
 int
 cpu_mp_probe(void)
 {
-	struct pcs *pcsp;
 	int i, cpus;
 
 	/* XXX: Need to check for valid platforms here. */
@@ -315,33 +356,16 @@
 	all_cpus = 1 << boot_cpu_id;
 
 	mp_ncpus = 1;
-	mp_maxid = 0;
 
 	/* Make sure we have at least one secondary CPU. */
 	cpus = 0;
 	for (i = 0; i < hwrpb->rpb_pcs_cnt; i++) {
 		if (i == PCPU_GET(cpuid))
 			continue;
-		pcsp = (struct pcs *)((char *)hwrpb + hwrpb->rpb_pcs_off +
-		    (i * hwrpb->rpb_pcs_size));
-		if ((pcsp->pcs_flags & PCS_PP) == 0) {
+		if (!smp_cpu_enabled(LOCATE_PCS(hwrpb, i)))
 			continue;
-		}
-		if ((pcsp->pcs_flags & PCS_PA) == 0) {
-			/*
-			 * The TurboLaser PCS_PA bit doesn't seem to be set
-			 * correctly.
-			 */
-			if (hwrpb->rpb_type != ST_DEC_21000) 
-				continue;
-		}
-		if ((pcsp->pcs_flags & PCS_PV) == 0) {
+		if (i > MAXCPU)
 			continue;
-		}
-		if (i > MAXCPU) {
-			continue;
-		}
-		mp_maxid = i;
 		cpus++;
 	}
 	return (cpus);
@@ -359,8 +383,7 @@
 
 		if (i == boot_cpu_id)
 			continue;
-		pcsp = (struct pcs *)((char *)hwrpb + hwrpb->rpb_pcs_off +
-		    (i * hwrpb->rpb_pcs_size));
+		pcsp = LOCATE_PCS(hwrpb, i);
 		if ((pcsp->pcs_flags & PCS_PP) == 0)
 			continue;
 		if ((pcsp->pcs_flags & PCS_PA) == 0) {

==== //depot/projects/hammer/sys/amd64/amd64/amd64_mem.c#4 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.22 2003/10/21 18:28:33 silby Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.23 2003/11/22 01:11:07 peter Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -214,13 +214,13 @@
 	msrv = rdmsr(msr);
 	mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) |
 	    amd64_mtrr2mrt(msrv & 0xff);
-	mrd->mr_base = msrv & 0x000ffffffffff000L;
+	mrd->mr_base = msrv & 0x000000fffffff000L;
 	msrv = rdmsr(msr + 1);
 	mrd->mr_flags = (msrv & 0x800) ? 
 	    (mrd->mr_flags | MDF_ACTIVE) :
 	    (mrd->mr_flags & ~MDF_ACTIVE);
 	/* Compute the range from the mask. Ick. */
-	mrd->mr_len = (~(msrv & 0x000ffffffffff000L) & 0x000fffffffffffffL) + 1;
+	mrd->mr_len = (~(msrv & 0x000000fffffff000L) & 0x000000ffffffffffL) + 1;
 	if (!mrvalid(mrd->mr_base, mrd->mr_len))
 	    mrd->mr_flags |= MDF_BOGUS;
 	/* If unclaimed and active, must be the BIOS */
@@ -348,7 +348,7 @@
 	/* base/type register */
 	omsrv = rdmsr(msr);
 	if (mrd->mr_flags & MDF_ACTIVE) {
-	    msrv = mrd->mr_base & 0x000ffffffffff000L;
+	    msrv = mrd->mr_base & 0x000000fffffff000L;
 	    msrv |= amd64_mrt2mtrr(mrd->mr_flags, omsrv);
 	} else {
 	    msrv = 0;
@@ -357,7 +357,7 @@
 	    
 	/* mask/active register */
 	if (mrd->mr_flags & MDF_ACTIVE) {
-	    msrv = 0x800 | (~(mrd->mr_len - 1) & 0x000ffffffffff000L);
+	    msrv = 0x800 | (~(mrd->mr_len - 1) & 0x000000fffffff000L);
 	} else {
 	    msrv = 0;
 	}
@@ -553,7 +553,6 @@
 	return;
     }
     nmdesc = mtrrcap & 0xff;
-    printf("Pentium Pro MTRR support enabled\n");
 
     /* If fixed MTRRs supported and enabled */
     if ((mtrrcap & 0x100) && (mtrrdef & 0x400)) {

==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#43 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.227 2003/11/21 03:01:59 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.228 2003/11/21 22:23:25 jhb Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -187,6 +187,26 @@
 	
 }
 
+void
+cpu_mp_setmaxid(void)
+{
+
+	/*
+	 * mp_maxid should be already set by calls to cpu_add().
+	 * Just sanity check its value here.
+	 */
+	if (mp_ncpus == 0)
+		KASSERT(mp_maxid == 0,
+		    ("%s: mp_ncpus is zero, but mp_maxid is not", __func__));
+	else if (mp_ncpus == 1)
+		mp_maxid = 0;
+	else
+		KASSERT(mp_maxid >= mp_ncpus - 1,
+		    ("%s: counters out of sync: max %d, count %d", __func__,
+			mp_maxid, mp_ncpus));
+		
+}
+
 int
 cpu_mp_probe(void)
 {
@@ -202,8 +222,6 @@
 		 * the variables to represent a system with a single CPU
 		 * with an id of 0.
 		 */
-		KASSERT(mp_maxid == 0,
-		    ("%s: mp_ncpus is zero, but mp_maxid is not", __func__));
 		mp_ncpus = 1;
 		return (0);

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list