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)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to