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>