svn commit: r214053 - in head/sys: fs/nfsclient nfs nfsclient

Rick Macklem rmacklem at FreeBSD.org
Tue Oct 19 11:55:58 UTC 2010


Author: rmacklem
Date: Tue Oct 19 11:55:58 2010
New Revision: 214053
URL: http://svn.freebsd.org/changeset/base/214053

Log:
  Fix the type of the 3rd argument for nm_getinfo so that it works
  for architectures like sparc64.
  
  Suggested by:	kib
  MFC after:	2 weeks

Modified:
  head/sys/fs/nfsclient/nfs_clvfsops.c
  head/sys/nfs/nfs_mountcommon.h
  head/sys/nfsclient/nfs_vfsops.c

Modified: head/sys/fs/nfsclient/nfs_clvfsops.c
==============================================================================
--- head/sys/fs/nfsclient/nfs_clvfsops.c	Tue Oct 19 10:56:56 2010	(r214052)
+++ head/sys/fs/nfsclient/nfs_clvfsops.c	Tue Oct 19 11:55:58 2010	(r214053)
@@ -101,7 +101,7 @@ static void	nfs_decode_args(struct mount
 static int	mountnfs(struct nfs_args *, struct mount *,
 		    struct sockaddr *, char *, u_char *, u_char *, u_char *,
 		    struct vnode **, struct ucred *, struct thread *, int);
-static void	nfs_getnlminfo(struct vnode *, uint8_t *, int *,
+static void	nfs_getnlminfo(struct vnode *, uint8_t *, size_t *,
 		    struct sockaddr_storage *, int *, off_t *);
 static vfs_mount_t nfs_mount;
 static vfs_cmount_t nfs_cmount;
@@ -1464,7 +1464,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t o
  * Extract the information needed by the nlm from the nfs vnode.
  */
 static void
-nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp,
+nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp,
     struct sockaddr_storage *sp, int *is_v3p, off_t *sizep)
 {
 	struct nfsmount *nmp;
@@ -1472,7 +1472,7 @@ nfs_getnlminfo(struct vnode *vp, uint8_t
 
 	nmp = VFSTONFS(vp->v_mount);
 	if (fhlenp != NULL)
-		*fhlenp = np->n_fhp->nfh_len;
+		*fhlenp = (size_t)np->n_fhp->nfh_len;
 	if (fhp != NULL)
 		bcopy(np->n_fhp->nfh_fh, fhp, np->n_fhp->nfh_len);
 	if (sp != NULL)

Modified: head/sys/nfs/nfs_mountcommon.h
==============================================================================
--- head/sys/nfs/nfs_mountcommon.h	Tue Oct 19 10:56:56 2010	(r214052)
+++ head/sys/nfs/nfs_mountcommon.h	Tue Oct 19 11:55:58 2010	(r214053)
@@ -34,7 +34,7 @@
  * used by the nlm. It includes a function pointer that provides
  * a mechanism for getting the client specific info for an nfs vnode.
  */
-typedef void	nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, int *,
+typedef void	nfs_getinfofromvp_ftype(struct vnode *, uint8_t *, size_t *,
 		    struct sockaddr_storage *, int *, off_t *);
 
 struct	nfsmount_common {

Modified: head/sys/nfsclient/nfs_vfsops.c
==============================================================================
--- head/sys/nfsclient/nfs_vfsops.c	Tue Oct 19 10:56:56 2010	(r214052)
+++ head/sys/nfsclient/nfs_vfsops.c	Tue Oct 19 11:55:58 2010	(r214053)
@@ -115,7 +115,7 @@ static void	nfs_decode_args(struct mount
 static int	mountnfs(struct nfs_args *, struct mount *,
 		    struct sockaddr *, char *, struct vnode **,
 		    struct ucred *cred, int);
-static void	nfs_getnlminfo(struct vnode *, uint8_t *, int *,
+static void	nfs_getnlminfo(struct vnode *, uint8_t *, size_t *,
 		    struct sockaddr_storage *, int *, off_t *);
 static vfs_mount_t nfs_mount;
 static vfs_cmount_t nfs_cmount;
@@ -1498,7 +1498,7 @@ nfs_sysctl(struct mount *mp, fsctlop_t o
  * Extract the information needed by the nlm from the nfs vnode.
  */
 static void
-nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, int *fhlenp,
+nfs_getnlminfo(struct vnode *vp, uint8_t *fhp, size_t *fhlenp,
     struct sockaddr_storage *sp, int *is_v3p, off_t *sizep)
 {
 	struct nfsmount *nmp;
@@ -1506,7 +1506,7 @@ nfs_getnlminfo(struct vnode *vp, uint8_t
 
 	nmp = VFSTONFS(vp->v_mount);
 	if (fhlenp != NULL)
-		*fhlenp = np->n_fhsize;
+		*fhlenp = (size_t)np->n_fhsize;
 	if (fhp != NULL)
 		bcopy(np->n_fhp, fhp, np->n_fhsize);
 	if (sp != NULL)


More information about the svn-src-head mailing list