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>