cvs commit: src/sys/nfs nfs_common.c nfs_common.h src/sys/nfsclient nfs_socket.c

Alfred Perlstein alfred at freebsd.org
Fri Jul 15 14:59:00 GMT 2005


* Paul Saab <ps at 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 at mu.org cell: 408-480-4684


More information about the cvs-all mailing list