Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jul 2005 07:58:59 -0700
From:      Alfred Perlstein <alfred@freebsd.org>
To:        Paul Saab <ps@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/nfs nfs_common.c nfs_common.h src/sys/nfsclient nfs_socket.c
Message-ID:  <20050715145859.GL40423@elvis.mu.org>
In-Reply-To: <200507142008.j6EK8RND012168@repoman.freebsd.org>
References:  <200507142008.j6EK8RND012168@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Paul Saab <ps@FreeBSD.org> [050714 13:08] wrote:
> ps          2005-07-14 20:08:27 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/nfs              nfs_common.c nfs_common.h 
>     sys/nfsclient        nfs_socket.c 
>   Log:
>   Fixes for NFS crashes on architectures that require strict alignment.
>   - Fix nfsm_disct() so that after pulling up data, the remaining data
>     is aligned if necessary.

Ugh, why not do it beforehand to reduce the copy?  This looks like
you'll move all this data into a single mbuf, then possibly shift
all the contents, can't you shift the initial mbuf first, THEN
do the pullup?

>   - Fix nfs_clnt_tcp_soupcall() to bcopy() the rpc length out of the
>     mbuf (instead of casting m_data to a uint32).

Also, is bcopy(9) light enough to be used for this purpose or do
we have something to do unaligned reads?

>   
>   Submitted by:   Pyun YongHyeon
>   Reviewed by:    Mohan Srinivasan
>   
>   Revision  Changes    Path
>   1.118     +12 -3     src/sys/nfs/nfs_common.c
>   1.38      +6 -0      src/sys/nfs/nfs_common.h
>   1.126     +2 -1      src/sys/nfsclient/nfs_socket.c

-- 
- Alfred Perlstein
- email: bright@mu.org cell: 408-480-4684



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050715145859.GL40423>