Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Nov 2007 05:32:35 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 129155 for review
Message-ID:  <200711170532.lAH5WZJx020936@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=129155

Change 129155 by jb@jb_freebsd1 on 2007/11/17 05:32:11

	IF6

Affected files ...

.. //depot/projects/dtrace6/src/contrib/binutils/gas/as.h#2 integrate
.. //depot/projects/dtrace6/src/contrib/binutils/gas/tc.h#2 integrate
.. //depot/projects/dtrace6/src/sys/nfsclient/nfs_socket.c#2 integrate

Differences ...

==== //depot/projects/dtrace6/src/contrib/binutils/gas/as.h#2 (text+ko) ====

@@ -1,6 +1,6 @@
 /* as.h - global header file
    Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003
+   1999, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
@@ -397,6 +397,22 @@
 /* Enough bits for address, but still an integer type.
    Could be a problem, cross-assembling for 64-bit machines.  */
 typedef addressT relax_addressT;
+
+struct relax_type
+{
+  /* Forward reach. Signed number. > 0.  */
+  offsetT rlx_forward;
+  /* Backward reach. Signed number. < 0.  */
+  offsetT rlx_backward;
+
+  /* Bytes length of this address.  */
+  unsigned char rlx_length;
+
+  /* Next longer relax-state.  0 means there is no 'next' relax-state.  */
+  relax_substateT rlx_more;
+};
+
+typedef struct relax_type relax_typeS;
 
 /* main program "as.c" (command arguments etc) */
 

==== //depot/projects/dtrace6/src/contrib/binutils/gas/tc.h#2 (text+ko) ====

@@ -24,25 +24,6 @@
 
 extern const pseudo_typeS md_pseudo_table[];
 
-/* JF moved this here from as.h under the theory that nobody except MACHINE.c
-   and write.c care about it anyway.  */
-
-struct relax_type
-{
-  /* Forward reach. Signed number. > 0.  */
-  long rlx_forward;
-  /* Backward reach. Signed number. < 0.  */
-  long rlx_backward;
-
-  /* Bytes length of this address.  */
-  unsigned char rlx_length;
-
-  /* Next longer relax-state.  0 means there is no 'next' relax-state.  */
-  relax_substateT rlx_more;
-};
-
-typedef struct relax_type relax_typeS;
-
 extern const int md_reloc_size;	/* Size of a relocation record */
 
 char *md_atof (int what_statement_type, char *literalP, int *sizeP);

==== //depot/projects/dtrace6/src/sys/nfsclient/nfs_socket.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.125.2.16 2007/06/28 03:28:28 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_socket.c,v 1.125.2.17 2007/11/16 21:24:54 ups Exp $");
 
 /*
  * Socket operations for use by nfs
@@ -84,6 +84,7 @@
 static int	nfs_bufpackets = 4;
 static int	nfs_reconnects;
 static int	nfs3_jukebox_delay = 10;
+static int     nfs_skip_wcc_data_onerr = 1;
 
 SYSCTL_DECL(_vfs_nfs);
 
@@ -94,7 +95,7 @@
     "number of times the nfs client has had to reconnect");
 SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW, &nfs3_jukebox_delay, 0,
     "number of seconds to delay a retry after receiving EJUKEBOX");
-
+SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_data_onerr, 0, "");
 
 /*
  * There is a congestion window for outstanding rpcs maintained per mount
@@ -1228,7 +1229,12 @@
 			 */
 			if (error == ESTALE)
 				cache_purge(vp);
-			if (nmp->nm_flag & NFSMNT_NFSV3) {
+			/*
+			 * Skip wcc data on NFS errors for now. NetApp filers return corrupt
+			 * postop attrs in the wcc data for NFS err EROFS. Not sure if they 
+			 * could return corrupt postop attrs for others errors.
+			 */
+			if ((nmp->nm_flag & NFSMNT_NFSV3) && !nfs_skip_wcc_data_onerr) {
 				*mrp = mrep;
 				*mdp = md;
 				*dposp = dpos;



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