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 
[EMAIL PROTECTED]             | companies that employ people like me.)"
http://www.rstcorp.com/~vshah | - Ken Thompson "Reflections on Trusting Trust"


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to