Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 1999 18:43:38 -0500 (EST)
From:      "Viren R.Shah" <viren@rstcorp.com>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Eivind Eklund <eivind@FreeBSD.org>, Julian Elischer <julian@whistle.com>, Greg Lehey <grog@lemis.com>, freebsd-current@FreeBSD.org
Subject:   Re: repeatable crash in -current (softupdates, NFS)
Message-ID:  <14403.4010.88305.46048@jabberwock.rstcorp.com>
In-Reply-To: <199911292325.PAA12356@apollo.backplane.com>
References:  <14399.63511.296802.242618@jabberwock.rstcorp.com> <19991127191729.A53832@bitbox.follo.net> <14402.62122.461010.454021@jabberwock.rstcorp.com> <199911292152.NAA09656@apollo.backplane.com> <19991129235631.P60031@bitbox.follo.net> <199911292308.PAA12218@apollo.backplane.com> <19991130001724.S60031@bitbox.follo.net> <199911292325.PAA12356@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help


 Matt>     I've added a little cleanup to this patch.  Viren, please try this 
 Matt>     patch.


I compiled a kernel with it, and no panic!! Here's what I get instead:

[vshah@jabberwock] ~> rm index.html
rm: index.html: No such file or directory
2220 [6:41pm]                                                                   [vshah@jabberwock] ~> ln -s public_html/index.html ./index.html
ln: ./index.html: RPC struct is bad
2221 [6:41pm]                                                                   [vshah@jabberwock] ~> ls -la index.html
lrwxr-xr-x  1 vshah  staff  22 Nov 29 18:41 index.html@ -> public_html/index.html


Does that do what it is suppossed to? Why the "RPC struct is bad"?


 Matt> 					-Matt


 Matt> Index: nfs_vnops.c
 Matt> ===================================================================
 Matt> RCS file: /FreeBSD/FreeBSD-CVS/src/sys/nfs/nfs_vnops.c,v
 Matt> retrieving revision 1.146
 Matt> diff -u -r1.146 nfs_vnops.c
 Matt> --- nfs_vnops.c	1999/11/27 18:14:41	1.146
 Matt> +++ nfs_vnops.c	1999/11/29 23:23:05
 Matt> @@ -1806,11 +1806,10 @@
 Matt>  		txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
 Matt>  	}
 Matt>  	nfsm_request(dvp, NFSPROC_SYMLINK, cnp->cn_proc, cnp->cn_cred);
 Matt> -	if (v3) {
 Matt> -		if (!error)
 Matt> -			nfsm_mtofh(dvp, newvp, v3, gotvp);
 Matt> +	if (!error)
 Matt> +		nfsm_mtofh(dvp, newvp, v3, gotvp);
 Matt> +	if (v3)
 Matt>  		nfsm_wcc_data(dvp, wccflag);
 Matt> -	}
 Matt>  	nfsm_reqdone;
 Matt>  	/*
 Matt>  	 * Kludge: Map EEXIST => 0 assuming that it is a reply to a retry.
 Matt> @@ -1821,8 +1820,9 @@
 Matt>  	if (error) {
 Matt>  		if (newvp)
 Matt>  			vput(newvp);
 Matt> -	} else
 Matt> +	} else {
 Matt>  		*ap->a_vpp = newvp;
 Matt> +	}
 Matt>  	VTONFS(dvp)->n_flag |= NMODIFIED;
 Matt>  	if (!wccflag)
 Matt>  		VTONFS(dvp)->n_attrstamp = 0;


Viren
-- 
Viren Shah                    | "You can't trust code that you did not totally
Research Associate, RST Inc.  | create yourself. (Especially code from 
viren@rstcorp.com             | companies that employ people like me.)"
http://www.rstcorp.com/~vshah | - Ken Thompson "Reflections on Trusting Trust"


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




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