args.fh       = (nfsv2fh_t *)ndmntp->ndm_fh;
args.fh       = ndmntp->ndm_fh; args.fhsize   = NFSX_V2FH;
nfs_mount_diskless(ndmntp, mntname, mntflag, vpp)	struct nfs_dlmount *ndmntp;	char *mntname;	int mntflag;	struct vnode **vpp;{	struct nfs_args args;	struct mount *mp;	struct mbuf *m;	int error;	/* Create the mount point. */	mp = (struct mount *)malloc((u_long)sizeof(struct mount),	    M_MOUNT, M_WAITOK);	if (mp == NULL)		panic("nfs_mountroot: malloc mount for %s", mntname);	bzero((char *)mp, (u_long)sizeof(struct mount));	mp->mnt_op = &nfs_vfsops;	mp->mnt_flag = mntflag;	/* Initialize mount args. */	bzero((caddr_t) &args, sizeof(args));	args.addr     = (struct sockaddr *)&ndmntp->ndm_saddr;	args.addrlen  = args.addr->sa_len;	args.sotype   = SOCK_DGRAM;	args.fh       = (nfsv2fh_t *)ndmntp->ndm_fh;	args.hostname = ndmntp->ndm_host;	args.flags    = NFSMNT_RESVPORT;#ifdef	NFS_BOOT_OPTIONS	args.flags    |= NFS_BOOT_OPTIONS;#endif#ifdef	NFS_BOOT_RWSIZE	/*	 * Reduce rsize,wsize for interfaces that consistently	 * drop fragments of long UDP messages.  (i.e. wd8003).	 * You can always change these later via remount.	 */	args.flags   |= NFSMNT_WSIZE | NFSMNT_RSIZE;	args.wsize    = NFS_BOOT_RWSIZE;	args.rsize    = NFS_BOOT_RWSIZE;#endif	/* Get mbuf for server sockaddr. */	m = m_get(M_WAIT, MT_SONAME);	if (m == NULL)		panic("nfs_mountroot: mget soname for %s", mntname);	bcopy((caddr_t)args.addr, mtod(m, caddr_t),	      (m->m_len = args.addr->sa_len));	error = mountnfs(&args, mp, m, mntname, args.hostname, vpp);	if (error)		panic("nfs_mountroot: mount %s failed: %d", mntname);	return (mp);}