if ((error = nfs_renameit(dvp, cnp, sp)) != 0)
error = nfs_renameit(dvp, cnp, sp); if (error)
nfs_sillyrename(dvp, vp, cnp)	struct vnode *dvp, *vp;	struct componentname *cnp;{	register struct nfsnode *np;	register struct sillyrename *sp;	int error;	short pid;	cache_purge(dvp);	np = VTONFS(vp);#ifdef SILLYSEPARATE	MALLOC(sp, struct sillyrename *, sizeof (struct sillyrename),		M_NFSREQ, M_WAITOK);#else	sp = &np->n_silly;#endif	sp->s_cred = crdup(cnp->cn_cred);	sp->s_dvp = dvp;	VREF(dvp);	/* Fudge together a funny name */	pid = cnp->cn_proc->p_pid;	bcopy(".nfsAxxxx4.4", sp->s_name, 13);	sp->s_namlen = 12;	sp->s_name[8] = hextoasc[pid & 0xf];	sp->s_name[7] = hextoasc[(pid >> 4) & 0xf];	sp->s_name[6] = hextoasc[(pid >> 8) & 0xf];	sp->s_name[5] = hextoasc[(pid >> 12) & 0xf];	/* Try lookitups until we get one that isn't there */	while (nfs_lookitup(sp, (nfsv2fh_t *)0, cnp->cn_proc) == 0) {		sp->s_name[4]++;		if (sp->s_name[4] > 'z') {			error = EINVAL;			goto bad;		}	}	if ((error = nfs_renameit(dvp, cnp, sp)) != 0)		goto bad;	nfs_lookitup(sp, &np->n_fh, cnp->cn_proc);	np->n_sillyrename = sp;	return (0);bad:	vrele(sp->s_dvp);	crfree(sp->s_cred);#ifdef SILLYSEPARATE	free((caddr_t)sp, M_NFSREQ);#endif	return (error);}