Index: nfs//nfs_vnops.c =================================================================== RCS file: /home/ncvs/src/sys/nfs/nfs_vnops.c,v retrieving revision 1.145 diff -u -r1.145 nfs_vnops.c --- nfs_vnops.c 1999/11/20 16:09:10 1.145 +++ nfs_vnops.c 1999/11/27 17:52:48 @@ -1812,18 +1812,21 @@ nfsm_wcc_data(dvp, wccflag); } nfsm_reqdone; - if (newvp && error) - vput(newvp); - else - *ap->a_vpp = newvp; - VTONFS(dvp)->n_flag |= NMODIFIED; - if (!wccflag) - VTONFS(dvp)->n_attrstamp = 0; /* * Kludge: Map EEXIST => 0 assuming that it is a reply to a retry. */ if (error == EEXIST) error = 0; + + if (error) { + if (newvp) + vput(newvp); + *ap->a_vpp = NULL; + } else + *ap->a_vpp = newvp; + VTONFS(dvp)->n_flag |= NMODIFIED; + if (!wccflag) + VTONFS(dvp)->n_attrstamp = 0; /* * cnp's buffer expected to be freed if SAVESTART not set or * if an error was returned.