nmp->nm_rsize &= ~0x1ff;
nmp->nm_rsize &= ~(NFS_FABLKSIZE - 1);
nfs_decode_args(nmp, argp)	struct nfsmount *nmp;	struct nfs_args *argp;{	int s;	int adjsock;	s = splsoftnet();	/* Re-bind if rsrvd port requested and wasn't on one */	adjsock = !(nmp->nm_flag & NFSMNT_RESVPORT)		  && (argp->flags & NFSMNT_RESVPORT);	/* Update flags atomically.  Don't change the lock bits. */	nmp->nm_flag =	    (argp->flags & ~NFSMNT_INTERNAL) | (nmp->nm_flag & NFSMNT_INTERNAL);	splx(s);	if ((argp->flags & NFSMNT_TIMEO) && argp->timeo > 0) {		nmp->nm_timeo = (argp->timeo * NFS_HZ + 5) / 10;		if (nmp->nm_timeo < NFS_MINTIMEO)			nmp->nm_timeo = NFS_MINTIMEO;		else if (nmp->nm_timeo > NFS_MAXTIMEO)			nmp->nm_timeo = NFS_MAXTIMEO;	}	if ((argp->flags & NFSMNT_RETRANS) && argp->retrans > 1) {		nmp->nm_retry = argp->retrans;		if (nmp->nm_retry > NFS_MAXREXMIT)			nmp->nm_retry = NFS_MAXREXMIT;	}	if ((argp->flags & NFSMNT_WSIZE) && argp->wsize > 0) {		int osize = nmp->nm_wsize;		nmp->nm_wsize = argp->wsize;		/* Round down to multiple of blocksize */		nmp->nm_wsize &= ~0x1ff;		if (nmp->nm_wsize <= 0)			nmp->nm_wsize = 512;		else if (nmp->nm_wsize > NFS_MAXDATA)			nmp->nm_wsize = NFS_MAXDATA;		adjsock |= (nmp->nm_wsize != osize);	}	if (nmp->nm_wsize > MAXBSIZE)		nmp->nm_wsize = MAXBSIZE;	if ((argp->flags & NFSMNT_RSIZE) && argp->rsize > 0) {		int osize = nmp->nm_rsize;		nmp->nm_rsize = argp->rsize;		/* Round down to multiple of blocksize */		nmp->nm_rsize &= ~0x1ff;		if (nmp->nm_rsize <= 0)			nmp->nm_rsize = 512;		else if (nmp->nm_rsize > NFS_MAXDATA)			nmp->nm_rsize = NFS_MAXDATA;		adjsock |= (nmp->nm_rsize != osize);	}	if (nmp->nm_rsize > MAXBSIZE)		nmp->nm_rsize = MAXBSIZE;	if ((argp->flags & NFSMNT_MAXGRPS) && argp->maxgrouplist >= 0 &&		argp->maxgrouplist <= NFS_MAXGRPS)		nmp->nm_numgrps = argp->maxgrouplist;	if ((argp->flags & NFSMNT_READAHEAD) && argp->readahead >= 0 &&		argp->readahead <= NFS_MAXRAHEAD)		nmp->nm_readahead = argp->readahead;	if ((argp->flags & NFSMNT_LEASETERM) && argp->leaseterm >= 2 &&		argp->leaseterm <= NQ_MAXLEASE)		nmp->nm_leaseterm = argp->leaseterm;	if ((argp->flags & NFSMNT_DEADTHRESH) && argp->deadthresh >= 1 &&		argp->deadthresh <= NQ_NEVERDEAD)		nmp->nm_deadthresh = argp->deadthresh;	if (nmp->nm_so && adjsock) {		nfs_disconnect(nmp);		if (nmp->nm_sotype == SOCK_DGRAM)			while (nfs_connect(nmp, (struct nfsreq *)0)) {				printf("nfs_args: retrying connect\n");				(void) tsleep((caddr_t)&lbolt,					      PSOCK, "nfscon", 0);			}	}}